diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index ebdd4858d8d7caae9be0b1d7202cdcca32bad6a9..927e973c0e71cee72390f5c9e323c2748bd5ba9d 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -476,6 +476,9 @@ void MPV_common_end(MpegEncContext *s)
 {
     int i;
 
+    av_freep(&s->parse_context.buffer);
+    s->parse_context.buffer_size=0;
+
     av_freep(&s->mb_type);
     av_freep(&s->p_mv_table_base);
     av_freep(&s->b_forw_mv_table_base);