diff --git a/mm/vmscan.c b/mm/vmscan.c
index a297603d35bc06a401ab2a4bb16f7f8f1d5d5d3a..77ee24fc891aed4b362e6a728bb36172583e1ecd 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2748,6 +2748,8 @@ static unsigned long balance_pgdat(pg_data_t *pgdat, int order,
 
 			/* If balanced, clear the congested flag */
 			zone_clear_flag(zone, ZONE_CONGESTED);
+			if (i <= *classzone_idx)
+				balanced += zone->present_pages;
 		}
 	}