diff --git a/avconv_opt.c b/avconv_opt.c
index 33ac290b194c8fd3cd977b60bc9ae4b3e6cd1921..2d0691252a312f3c1578afec1955ef3895589ee5 100644
--- a/avconv_opt.c
+++ b/avconv_opt.c
@@ -1870,6 +1870,10 @@ static int opt_target(void *optctx, const char *opt, const char *arg)
         av_log(NULL, AV_LOG_ERROR, "Unknown target: %s\n", arg);
         return AVERROR(EINVAL);
     }
+
+    av_dict_copy(&o->g->codec_opts,  codec_opts, 0);
+    av_dict_copy(&o->g->format_opts, format_opts, 0);
+
     return 0;
 }