diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index dc13a4be0eea5d7105a8db6ab1161e55f83b5bb4..cebdca98609ababfcea8a60c04105a0879931a9c 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -3470,7 +3470,8 @@ static int mov_write_trailer(AVFormatContext *s)
     }
 
     if (mov->chapter_track) {
-        av_free(mov->tracks[mov->chapter_track].enc->extradata);
+        if (mov->tracks[mov->chapter_track].enc)
+            av_free(mov->tracks[mov->chapter_track].enc->extradata);
         av_freep(&mov->tracks[mov->chapter_track].enc);
     }