diff --git a/main/channel.c b/main/channel.c
index bb3eb355e48098783c138a0c9052c9c1c8265eb9..769df5cb68d63d99643ffb1753e677e6eeb287cb 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -1912,7 +1912,7 @@ static struct ast_channel *ast_waitfor_nandfds_complex(struct ast_channel **c, i
 		return winner;
 	}
 
-	for (i = 0; i < 25; i++) {
+	for (i = 0; i < res; i++) {
 		struct ast_epoll_data *aed = ev[i].data.ptr;
 
 		if (!ev[i].events || !aed)