[1mdiff --git a/src/backend/commands/vacuumlazy.c b/src/backend/commands/vacuumlazy.c[m
[1mindex 6587db77ac..e6c30f435d 100644[m
[1m--- a/src/backend/commands/vacuumlazy.c[m
[1m+++ b/src/backend/commands/vacuumlazy.c[m
[36m@@ -1329,9 +1329,15 @@[m [mlazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,[m
 	pgstat_progress_update_param(PROGRESS_VACUUM_PHASE,[m
 								 PROGRESS_VACUUM_PHASE_INDEX_CLEANUP);[m
 [m
[31m-	/* Do post-vacuum cleanup and statistics update for each index */[m
[31m-	for (i = 0; i < nindexes; i++)[m
[31m-		lazy_cleanup_index(Irel[i], indstats[i], vacrelstats);[m
[32m+[m	[32m/*[m
[32m+[m	[32m * Do post-vacuum cleanup and statistics update for each index.[m
[32m+[m	[32m * We can skip cleaning up iff not a single tuple was vacuumed[m
[32m+[m	[32m */[m
[32m+[m	[32mif (tups_vacuumed > 0)[m
[32m+[m	[32m{[m
[32m+[m		[32mfor (i = 0; i < nindexes; i++)[m
[32m+[m			[32mlazy_cleanup_index(Irel[i], indstats[i], vacrelstats);[m
[32m+[m	[32m}[m
 [m
 	/* If no indexes, make log report that lazy_vacuum_heap would've made */[m
 	if (vacuumed_pages)[m
