diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
index 673c4e865ce1a9bbb55e1dfa7991f8e357bebde3..71b46221098074584cab9323665c51571ef00dc9 100644
--- a/libavcodec/mpeg4videodec.c
+++ b/libavcodec/mpeg4videodec.c
@@ -1495,6 +1495,11 @@ end:
 static int mpeg4_decode_gop_header(MpegEncContext * s, GetBitContext *gb){
     int hours, minutes, seconds;
 
+    if(!show_bits(gb, 18)){
+        av_log(s->avctx, AV_LOG_WARNING, "GOP header invalid\n");
+        return -1;
+    }
+
     hours= get_bits(gb, 5);
     minutes= get_bits(gb, 6);
     skip_bits1(gb);