diff --git a/camel/camel-imapx-server.c b/camel/camel-imapx-server.c
index 8845d90..0e46105 100644
--- a/camel/camel-imapx-server.c
+++ b/camel/camel-imapx-server.c
@@ -978,7 +978,9 @@ imapx_command_start_next (CamelIMAPXServer *is,
 					c (
 						is->tagprefix,
 						"waiting for idle to stop \n");
-					return TRUE;
+					/* if there are more pending commands,
+					   then they should be processed too */
+					break;
 
 				case IMAPX_IDLE_STOP_ERROR:
 					return FALSE;
