diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index 3a7eec902f1ec933bee7d6f42dda8d832f4dadb8..26856632c75773eba45f99b90b69406c40d97faa 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -901,9 +901,8 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
     }
 
     /* exponent strategies for each channel */
-    s->exp_strategy[blk][CPL_CH] = EXP_REUSE;
-    s->exp_strategy[blk][s->lfe_ch] = EXP_REUSE;
     for (ch = !cpl_in_use; ch <= s->channels; ch++) {
+        if (!s->eac3)
         s->exp_strategy[blk][ch] = get_bits(gbc, 2 - (ch == s->lfe_ch));
         if(s->exp_strategy[blk][ch] != EXP_REUSE)
             bit_alloc_stages[ch] = 3;