diff --git a/libavcodec/ffv1.c b/libavcodec/ffv1.c
index 4bf29f7bd08dfb174ce8c10d4d7ed94a62706728..f03ea8ea1ba98cff9021131b242d93de0f7fff46 100644
--- a/libavcodec/ffv1.c
+++ b/libavcodec/ffv1.c
@@ -1610,8 +1610,10 @@ static int decode_slice(AVCodecContext *c, void *arg){
     if(f->version > 2){
         if(init_slice_state(f, fs) < 0)
             return AVERROR(ENOMEM);
-        if(decode_slice_header(f, fs) < 0)
+        if(decode_slice_header(f, fs) < 0) {
+            fs->slice_damaged = 1;
             return AVERROR_INVALIDDATA;
+        }
     }
     if(init_slice_state(f, fs) < 0)
         return AVERROR(ENOMEM);