diff --git a/cmdutils.c b/cmdutils.c
index 58fe85cfda634a926bf8adec44c460d4cd2f8db9..99e4c38af1b9a1fcc34e604768dad7f357275cc8 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -78,6 +78,8 @@ void uninit_opts(void)
 #if CONFIG_SWSCALE
     av_freep(&sws_opts);
 #endif
+    av_freep(&opt_names);
+    av_freep(&opt_values);
 }
 
 void log_callback_help(void* ptr, int level, const char* fmt, va_list vl)
diff --git a/ffmpeg.c b/ffmpeg.c
index aae93f264447831c389008e29f2d425bc9cfa0ce..dfd9f9ada0f0dba590938359434ce8a724e3a536 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -534,7 +534,6 @@ static int ffmpeg_exit(int ret)
         fclose(vstats_file);
     av_free(vstats_filename);
 
-    av_free(opt_names);
     av_free(streamid_map);
     av_free(input_codecs);
     av_free(output_codecs);