diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c
index 281ad24dfbf..cc5b03eb7ce 100644
--- a/src/backend/access/heap/vacuumlazy.c
+++ b/src/backend/access/heap/vacuumlazy.c
@@ -795,13 +795,6 @@ heap_vacuum_rel(Relation rel, const VacuumParams params,
 	 * to increase the number of dead tuples it can prune away.)
 	 */
 	vacrel->aggressive = vacuum_get_cutoffs(rel, params, &vacrel->cutoffs);
-	if (vacrel->aggressive)
-		pgstat_progress_update_param(PROGRESS_VACUUM_MODE,
-									 PROGRESS_VACUUM_MODE_AGGRESSIVE);
-	else
-		pgstat_progress_update_param(PROGRESS_VACUUM_MODE,
-									 PROGRESS_VACUUM_MODE_NORMAL);
-
 	vacrel->rel_pages = orig_rel_pages = RelationGetNumberOfBlocks(rel);
 	vacrel->vistest = GlobalVisTestFor(rel);
 
@@ -823,8 +816,6 @@ heap_vacuum_rel(Relation rel, const VacuumParams params,
 		 * visibility map (even those set all-frozen)
 		 */
 		vacrel->aggressive = true;
-		pgstat_progress_update_param(PROGRESS_VACUUM_MODE,
-									 PROGRESS_VACUUM_MODE_AGGRESSIVE);
 		skipwithvm = false;
 	}
 
@@ -837,6 +828,12 @@ heap_vacuum_rel(Relation rel, const VacuumParams params,
 	 */
 	heap_vacuum_eager_scan_setup(vacrel, params);
 
+	/* Report the vacuum mode: 'normal' or 'aggressive' */
+	pgstat_progress_update_param(PROGRESS_VACUUM_MODE,
+								 vacrel->aggressive
+								 ? PROGRESS_VACUUM_MODE_AGGRESSIVE
+								 : PROGRESS_VACUUM_MODE_NORMAL);
+
 	if (verbose)
 	{
 		if (vacrel->aggressive)
