diff --git a/libavcodec/nuv.c b/libavcodec/nuv.c
index 4d5063fad7ff9843d7d21bca8787949f98ad3dd2..269bf8bfbbc1c2ac59d82bb26174f76836716e21 100644
--- a/libavcodec/nuv.c
+++ b/libavcodec/nuv.c
@@ -200,8 +200,10 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
     buf_size -= 12;
     if (comptype == NUV_RTJPEG_IN_LZO || comptype == NUV_LZO) {
         int outlen = c->decomp_size, inlen = buf_size;
-        if (av_lzo1x_decode(c->decomp_buf, &outlen, buf, &inlen))
+        if (av_lzo1x_decode(c->decomp_buf, &outlen, buf, &inlen)) {
             av_log(avctx, AV_LOG_ERROR, "error during lzo decompression\n");
+            return AVERROR_INVALIDDATA;
+        }
         buf      = c->decomp_buf;
         buf_size = c->decomp_size;
     }
diff --git a/tests/ref/fate/nuv-rtjpeg b/tests/ref/fate/nuv-rtjpeg
index e9286d6a6df0f91e9536f40785775c063a1e4bea..a5c9c4a6f301b008760d7b51c31338a015b01116 100644
--- a/tests/ref/fate/nuv-rtjpeg
+++ b/tests/ref/fate/nuv-rtjpeg
@@ -7,4 +7,3 @@
 0,        269,        269,        0,   460800, 0x4e091ee2
 0,        302,        302,        0,   460800, 0x2ea88828
 0,        335,        335,        0,   460800, 0x4b7f4df0
-0,        369,        369,        0,   460800, 0xb30eb322