diff --git a/mm/vmscan.c b/mm/vmscan.c
index 22631e0994b30ed2335b20ef1b253a29104238ee..b7719ec10dc5a998a102548cb38e9223c6e6be3c 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2529,6 +2529,9 @@ loop_again:
 					high_wmark_pages(zone), 0, 0)) {
 				end_zone = i;
 				break;
+			} else {
+				/* If balanced, clear the congested flag */
+				zone_clear_flag(zone, ZONE_CONGESTED);
 			}
 		}
 		if (i < 0)