diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
index 97bad2410dbcbca8af5f1ba39ae91f402aeeb4f1..b3e49435dea850aa307f7d53f2b400d0e4e6ad59 100644
--- a/libavformat/nutdec.c
+++ b/libavformat/nutdec.c
@@ -687,6 +687,9 @@ static int decode_frame_header(NUTContext *nut, int *flags_ret, int64_t *pts, in
         get_v(bc);
     if(flags&FLAG_CHECKSUM){
         get_be32(bc); //FIXME check this
+    }else if(size > 2*nut->max_distance){
+        av_log(s, AV_LOG_ERROR, "frame size > 2max_distance and no checksum\n");
+        return -1;
     }
     *flags_ret= flags;