diff --git a/libcelt/bands.c b/libcelt/bands.c
index ffb8f2a99a0fce0085b4167050a947fa13295221..1e3fc287373ce5d69d5dff33f17cb6202e5234e4 100644
--- a/libcelt/bands.c
+++ b/libcelt/bands.c
@@ -258,7 +258,7 @@ void anti_collapse(const CELTMode *m, celt_norm *_X, unsigned char *collapse_mas
          else
             r = 0;
          if (LM==3)
-            r = MULT16_16_Q14(QCONST16(1.41421356f,14), r);
+            r = MULT16_16_Q14(23170, MIN32(23169, r));
          r = SHR16(MIN16(thresh, r),1);
          r = SHR32(MULT16_16_Q15(sqrt_1, r),shift);
 #else