diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index f85eabfe4d332b032460d4324a8bd20183565a58..8094274ff6eaacee771dbc0abc00734c68125e9e 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -672,6 +672,7 @@ static int decode_block(MJpegDecodeContext *s, int16_t *block, int component,
         return AVERROR_INVALIDDATA;
     }
     val = val * quant_matrix[0] + s->last_dc[component];
+    val = FFMIN(val, 32767);
     s->last_dc[component] = val;
     block[0] = val;
     /* AC coefs */