diff --git a/libavfilter/vf_fieldhint.c b/libavfilter/vf_fieldhint.c
index 26551ce7a81e9718a9af16e675ec43e3dfb27f09..3cfeb20a382ca5caec40ad221c8dfd8e757bf979 100644
--- a/libavfilter/vf_fieldhint.c
+++ b/libavfilter/vf_fieldhint.c
@@ -196,6 +196,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
         break;
     default:
         av_log(ctx, AV_LOG_ERROR, "Invalid hint: %c.\n", hint);
+        av_frame_free(&out);
         return AVERROR(EINVAL);
     }