diff --git a/libavcodec/pthread.c b/libavcodec/pthread.c
index 70610909fb6ec85c832f1b679ede22b6470d38cc..9a92288dbb9827816bb5f380db5fd600f650fee1 100644
--- a/libavcodec/pthread.c
+++ b/libavcodec/pthread.c
@@ -890,6 +890,7 @@ void ff_thread_flush(AVCodecContext *avctx)
         PerThreadContext *p = &fctx->threads[i];
         // Make sure decode flush calls with size=0 won't return old frames
         p->got_frame = 0;
+        av_frame_unref(&p->frame);
 
         release_delayed_buffers(p);
     }