diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index ecca8879b5c10655e740730d3a33bfe42245f8f4..e3e68c432d2d7fe76293081964e03838fc683094 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -629,7 +629,6 @@ static int dash_write_header(AVFormatContext *s)
         os->init_start_pos = 0;
 
         av_dict_set(&opts, "movflags", "frag_custom+dash+delay_moov", 0);
-        av_dict_set(&opts, "use_editlist", "1", 0);
         if ((ret = avformat_write_header(ctx, &opts)) < 0) {
              goto fail;
         }
diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index b24ca222543daadd29d80da2245313a320058057..010c65587f7a2e09e988df4b390b885ec4243bb0 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -4651,7 +4651,8 @@ static int mov_write_header(AVFormatContext *s)
 
     if (mov->use_editlist < 0) {
         mov->use_editlist = 1;
-        if (mov->flags & FF_MOV_FLAG_FRAGMENT) {
+        if (mov->flags & FF_MOV_FLAG_FRAGMENT &&
+            !(mov->flags & FF_MOV_FLAG_DELAY_MOOV)) {
             // If we can avoid needing an edit list by shifting the
             // tracks, prefer that over (trying to) write edit lists
             // in fragmented output.