diff --git a/src/opus_encoder.c b/src/opus_encoder.c
index db2e43df10dfb19a0859d815e7900e4b7869a331..af9f3fd8f44d85c2a31b100810589238c6ff1436 100644
--- a/src/opus_encoder.c
+++ b/src/opus_encoder.c
@@ -2184,7 +2184,7 @@ opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_
               return OPUS_INTERNAL_ERROR;
            }
            /* Put CELT->SILK redundancy data in the right place. */
-           if (redundancy && celt_to_silk && st->mode==MODE_HYBRID && st->use_vbr)
+           if (redundancy && celt_to_silk && st->mode==MODE_HYBRID && nb_compr_bytes != ret)
            {
               OPUS_MOVE(data+ret, data+nb_compr_bytes, redundancy_bytes);
               nb_compr_bytes = ret+redundancy_bytes;