diff --git a/main/frame.c b/main/frame.c
index af782edc2e851c7aace0ab78509ca97b82d0191a..a4a7f2d32d0b79c73ad84e49dc3f69065f584abd 100644
--- a/main/frame.c
+++ b/main/frame.c
@@ -1406,7 +1406,9 @@ static int speex_samples(unsigned char *data, int len)
 		}
 		bit += off;
 
-		if ((len * 8 - bit) < 5) {
+		if ((len * 8 - bit) == 0) {
+			break;
+		} else if ((len * 8 - bit) < 5) {
 			ast_log(LOG_WARNING, "Not enough bits remaining after wide band for speex samples.\n");
 			break;
 		}