diff --git a/src/backend/commands/vacuumlazy.c b/src/backend/commands/vacuumlazy.c
index d39269897a5c10c6150ba6fb8cae246e0f25a982..8a1ffcf0bd7e4cbdd9a81ba874b9de42e2eec1e8 100644
--- a/src/backend/commands/vacuumlazy.c
+++ b/src/backend/commands/vacuumlazy.c
@@ -78,9 +78,9 @@
  * that the potential for improvement was great enough to merit the cost of
  * supporting them.
  */
-#define AUTOVACUUM_TRUNCATE_LOCK_CHECK_INTERVAL		20	/* ms */
-#define AUTOVACUUM_TRUNCATE_LOCK_WAIT_INTERVAL		50	/* ms */
-#define AUTOVACUUM_TRUNCATE_LOCK_TIMEOUT			5000		/* ms */
+#define VACUUM_TRUNCATE_LOCK_CHECK_INTERVAL		20	/* ms */
+#define VACUUM_TRUNCATE_LOCK_WAIT_INTERVAL		50	/* ms */
+#define VACUUM_TRUNCATE_LOCK_TIMEOUT			5000		/* ms */
 
 /*
  * Guesstimation of number of dead tuples per page.  This is used to
@@ -285,17 +285,10 @@ lazy_vacuum_rel(Relation onerel, VacuumStmt *vacstmt,
 						new_frozen_xid,
 						new_min_multi);
 
-	/*
-	 * Report results to the stats collector, too. An early terminated
-	 * lazy_truncate_heap attempt suppresses the message and also cancels the
-	 * execution of ANALYZE, if that was ordered.
-	 */
-	if (!vacrelstats->lock_waiter_detected)
-		pgstat_report_vacuum(RelationGetRelid(onerel),
-							 onerel->rd_rel->relisshared,
-							 new_rel_tuples);
-	else
-		vacstmt->options &= ~VACOPT_ANALYZE;
+	/* report results to the stats collector, too */
+	pgstat_report_vacuum(RelationGetRelid(onerel),
+						  onerel->rd_rel->relisshared,
+						  new_rel_tuples);
 
 	/* and log the action if appropriate */
 	if (IsAutoVacuumWorkerProcess() && Log_autovacuum_min_duration >= 0)
@@ -1347,28 +1340,21 @@ lazy_truncate_heap(Relation onerel, LVRelStats *vacrelstats)
 			 */
 			CHECK_FOR_INTERRUPTS();
 
-			if (++lock_retry > (AUTOVACUUM_TRUNCATE_LOCK_TIMEOUT /
-								AUTOVACUUM_TRUNCATE_LOCK_WAIT_INTERVAL))
+			if (++lock_retry > (VACUUM_TRUNCATE_LOCK_TIMEOUT /
+								VACUUM_TRUNCATE_LOCK_WAIT_INTERVAL))
 			{
 				/*
 				 * We failed to establish the lock in the specified number of
-				 * retries. This means we give up truncating. Suppress the
-				 * ANALYZE step. Doing an ANALYZE at this point will reset the
-				 * dead_tuple_count in the stats collector, so we will not get
-				 * called by the autovacuum launcher again to do the truncate.
+				 * retries. This means we give up truncating.
 				 */
 				vacrelstats->lock_waiter_detected = true;
-				ereport(LOG,
-						(errmsg("automatic vacuum of table \"%s.%s.%s\": "
-								"could not (re)acquire exclusive "
-								"lock for truncate scan",
-								get_database_name(MyDatabaseId),
-							get_namespace_name(RelationGetNamespace(onerel)),
+				ereport(elevel,
+						(errmsg("\"%s\": stopping truncate due to conflicting lock request",
 								RelationGetRelationName(onerel))));
 				return;
 			}
 
-			pg_usleep(AUTOVACUUM_TRUNCATE_LOCK_WAIT_INTERVAL);
+			pg_usleep(VACUUM_TRUNCATE_LOCK_WAIT_INTERVAL);
 		}
 
 		/*
@@ -1448,8 +1434,6 @@ count_nondeletable_pages(Relation onerel, LVRelStats *vacrelstats)
 {
 	BlockNumber blkno;
 	instr_time	starttime;
-	instr_time	currenttime;
-	instr_time	elapsed;
 
 	/* Initialize the starttime if we check for conflicting lock requests */
 	INSTR_TIME_SET_CURRENT(starttime);
@@ -1467,24 +1451,26 @@ count_nondeletable_pages(Relation onerel, LVRelStats *vacrelstats)
 		/*
 		 * Check if another process requests a lock on our relation. We are
 		 * holding an AccessExclusiveLock here, so they will be waiting. We
-		 * only do this in autovacuum_truncate_lock_check millisecond
-		 * intervals, and we only check if that interval has elapsed once
-		 * every 32 blocks to keep the number of system calls and actual
-		 * shared lock table lookups to a minimum.
+		 * only do this once per VACUUM_TRUNCATE_LOCK_CHECK_INTERVAL, and we
+		 * only check if that interval has elapsed once every 32 blocks to
+		 * keep the number of system calls and actual shared lock table
+		 * lookups to a minimum.
 		 */
 		if ((blkno % 32) == 0)
 		{
+			instr_time	currenttime;
+			instr_time	elapsed;
+
 			INSTR_TIME_SET_CURRENT(currenttime);
 			elapsed = currenttime;
 			INSTR_TIME_SUBTRACT(elapsed, starttime);
 			if ((INSTR_TIME_GET_MICROSEC(elapsed) / 1000)
-				>= AUTOVACUUM_TRUNCATE_LOCK_CHECK_INTERVAL)
+				>= VACUUM_TRUNCATE_LOCK_CHECK_INTERVAL)
 			{
 				if (LockHasWaitersRelation(onerel, AccessExclusiveLock))
 				{
 					ereport(elevel,
-							(errmsg("\"%s\": suspending truncate "
-									"due to conflicting lock request",
+							(errmsg("\"%s\": suspending truncate due to conflicting lock request",
 									RelationGetRelationName(onerel))));
 
 					vacrelstats->lock_waiter_detected = true;