diff --git a/src/opus_multistream_encoder.c b/src/opus_multistream_encoder.c
index 83e17584c02479e0657de5c6cd0ee966c8b32f4c..f0b9ae42d00b671c55693ae5b42e6c8722498958 100644
--- a/src/opus_multistream_encoder.c
+++ b/src/opus_multistream_encoder.c
@@ -1039,9 +1039,9 @@ static int opus_multistream_encode_native
       curr_max = max_data_bytes - tot_size;
       /* Reserve one byte for the last stream and two for the others */
       curr_max -= IMAX(0,2*(st->layout.nb_streams-s-1)-1);
-      /* For 100 ms, reserve an extra byte per stream for the Toc */
+      /* For 100 ms, reserve an extra byte per stream for the ToC */
       if (Fs/frame_size == 10)
-        curr_max -= st->layout.nb_streams-s;
+        curr_max -= st->layout.nb_streams-s-1;
       curr_max = IMIN(curr_max,MS_FRAME_TMP);
       /* Repacketizer will add one or two bytes for self-delimited frames */
       if (s != st->layout.nb_streams-1) curr_max -=  curr_max>253 ? 2 : 1;