diff --git a/celt/celt_decoder.c b/celt/celt_decoder.c
index e34b4c6dbda8ab0e1a5cdd701d860097a902eabf..830398eed8a9914e91563d2ab371be0c8ca2afb2 100644
--- a/celt/celt_decoder.c
+++ b/celt/celt_decoder.c
@@ -213,7 +213,7 @@ void deemphasis(celt_sig *in[], opus_val16 *pcm, int N, int C, int downsample, c
          opus_val16 coef3 = coef[3];
          for (j=0;j<N;j++)
          {
-            celt_sig tmp = x[j] + m;
+            celt_sig tmp = x[j] + m + VERY_SMALL;
             m = MULT16_32_Q15(coef0, tmp)
                           - MULT16_32_Q15(coef1, x[j]);
             tmp = SHL32(MULT16_32_Q15(coef3, tmp), 2);
@@ -227,7 +227,7 @@ void deemphasis(celt_sig *in[], opus_val16 *pcm, int N, int C, int downsample, c
          /* Shortcut for the standard (non-custom modes) case */
          for (j=0;j<N;j++)
          {
-            celt_sig tmp = x[j] + m;
+            celt_sig tmp = x[j] + m + VERY_SMALL;
             m = MULT16_32_Q15(coef0, tmp);
             scratch[j] = tmp;
          }
diff --git a/celt/celt_encoder.c b/celt/celt_encoder.c
index 1ceb75e250c6a4b19f0db1e35bdd8ac6fd59ed89..ffff0775dfd6181aa0bf0d899dddfffdd0efee44 100644
--- a/celt/celt_encoder.c
+++ b/celt/celt_encoder.c
@@ -508,7 +508,7 @@ void celt_preemphasis(const opus_val16 * OPUS_RESTRICT pcmp, celt_sig * OPUS_RES
       opus_val16 coef2 = coef[2];
       for (i=0;i<N;i++)
       {
-         opus_val16 x, tmp;
+         celt_sig x, tmp;
          x = inp[i];
          /* Apply pre-emphasis */
          tmp = MULT16_16(coef2, x);