diff --git a/libavcodec/aacenc.c b/libavcodec/aacenc.c
index 3a512ffeeee5eb46a515b4e331a19c1696cb5d7d..05a8162394736e0660c3e656272b3c09c7647b1a 100644
--- a/libavcodec/aacenc.c
+++ b/libavcodec/aacenc.c
@@ -617,6 +617,8 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
             tag      = s->chan_map[i+1];
             chans    = tag == TYPE_CPE ? 2 : 1;
             cpe      = &s->cpe[i];
+            memset(cpe->is_mask, 0, sizeof(cpe->is_mask));
+            memset(cpe->ms_mask, 0, sizeof(cpe->ms_mask));
             put_bits(&s->pb, 3, tag);
             put_bits(&s->pb, 4, chan_el_counter[tag]++);
             for (ch = 0; ch < chans; ch++)