diff --git a/libavcodec/fic.c b/libavcodec/fic.c
index 6b8d28d359583ad8f91987d452eab4467180a023..f0e711631811500f2fd461b22113080438305407 100644
--- a/libavcodec/fic.c
+++ b/libavcodec/fic.c
@@ -146,7 +146,8 @@ static int fic_decode_block(FICContext *ctx, GetBitContext *gb,
         return AVERROR_INVALIDDATA;
 
     for (i = 0; i < num_coeff; i++)
-        block[ff_zigzag_direct[i]] = get_se_golomb(gb) * ctx->qmat[i];
+        block[ff_zigzag_direct[i]] = get_se_golomb(gb) *
+                                     ctx->qmat[ff_zigzag_direct[i]];
 
     fic_idct_put(dst, stride, block);