diff --git a/cmdutils.c b/cmdutils.c
index c1b81a176b3ad4b3ee7dbaded1362e75ffcc28e6..31c6ad618a6b02ea4a55b50b9e3f9eecbb1ff19f 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -480,6 +480,9 @@ int opt_default(void *optctx, const char *opt, const char *arg)
     const AVClass *cc = avcodec_get_class(), *fc = avformat_get_class();
     const AVClass *sc, *swr_class;
 
+    if (!strcmp(opt, "debug") || !strcmp(opt, "fdebug"))
+        av_log_set_level(AV_LOG_DEBUG);
+
     if (!(p = strchr(opt, ':')))
         p = opt + strlen(opt);
     av_strlcpy(opt_stripped, opt, FFMIN(sizeof(opt_stripped), p - opt + 1));
@@ -909,12 +912,6 @@ int opt_cpuflags(void *optctx, const char *opt, const char *arg)
     return 0;
 }
 
-int opt_codec_debug(void *optctx, const char *opt, const char *arg)
-{
-    av_log_set_level(AV_LOG_DEBUG);
-    return opt_default(NULL, opt, arg);
-}
-
 int opt_timelimit(void *optctx, const char *opt, const char *arg)
 {
 #if HAVE_SETRLIMIT
diff --git a/cmdutils_common_opts.h b/cmdutils_common_opts.h
index bfd71feb7dbbec29a73069c71af765a605d3cb56..1a845645b00904db39d00b0021447654fb90f401 100644
--- a/cmdutils_common_opts.h
+++ b/cmdutils_common_opts.h
@@ -16,8 +16,6 @@
     { "sample_fmts", OPT_EXIT, {.func_arg = show_sample_fmts }, "show available audio sample formats" },
     { "loglevel"   , HAS_ARG,  {.func_arg = opt_loglevel},      "set libav* logging level", "loglevel" },
     { "v",           HAS_ARG,  {.func_arg = opt_loglevel},      "set libav* logging level", "loglevel" },
-    { "debug"      , HAS_ARG,  {.func_arg = opt_codec_debug},   "set debug flags", "flags" },
-    { "fdebug"     , HAS_ARG,  {.func_arg = opt_codec_debug},   "set debug flags", "flags" },
     { "report"     , 0,        {(void*)opt_report}, "generate a report" },
     { "max_alloc"  , HAS_ARG,  {.func_arg = opt_max_alloc},     "set maximum size of a single allocated block", "bytes" },
     { "cpuflags"   , HAS_ARG | OPT_EXPERT, {.func_arg = opt_cpuflags}, "force specific cpu flags", "flags" },