diff --git a/libavfilter/graphparser.c b/libavfilter/graphparser.c
index 00764b68b6d1d447982d9a6e1ef15f1ef446e3ff..e20dd626bcf257edd0b3294a43b33bf77a0b7f11 100644
--- a/libavfilter/graphparser.c
+++ b/libavfilter/graphparser.c
@@ -130,6 +130,7 @@ static int create_filter(AVFilterContext **filt_ctx, AVFilterGraph *ctx, int ind
         if (args)
             av_log(log_ctx, AV_LOG_ERROR, " with args '%s'", args);
         av_log(log_ctx, AV_LOG_ERROR, "\n");
+        avfilter_free(*filt_ctx);
         return ret;
     }