diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c
index 3c5e16608e..77bb4a265c 100644
--- a/src/backend/access/heap/vacuumlazy.c
+++ b/src/backend/access/heap/vacuumlazy.c
@@ -197,7 +197,7 @@ typedef struct LVShared
 	/*
 	 * Fields for both index vacuuming and index cleanup.
 	 *
-	 * reltuples is the total number of input heap tuples. We set either an
+	 * reltuples is the total number of input heap tuples.  We set either an
 	 * old live tuples in index vacuuming case or the new live tuples in index
 	 * cleanup case.
 	 *
@@ -207,7 +207,7 @@ typedef struct LVShared
 	bool	estimated_count;
 
 	/*
-	 * Variables to control parallel index vacuuming. An variable-sized field
+	 * Variables to control parallel index vacuuming.  An variable-sized field
 	 * 'indstats' must come last.
 	 */
 	pg_atomic_uint32	nprocessed;
@@ -2108,9 +2108,9 @@ lazy_cleanup_indexes(LVRelStats *vacrelstats, Relation *Irel,
 	{
 		/*
 		 * Generally index cleanup does not scan the index when index vacuuming
-		 * (ambulkdelete) was performed. So we perform index cleanup with parallel
-		 * workers only if we have not performed index vacuuming yet. Otherwise
-		 * we do it the leader process alone.
+		 * (ambulkdelete) was already performed.  So we perform index cleanup
+		 * with parallel workers only if we have not performed index vacuuming
+		 * yet.  Otherwise, we do it in the leader process alone.
 		 */
 		if (vacrelstats->num_index_scans == 0)
 			lazy_parallel_cleanup_indexes(vacrelstats, Irel, nindexes, stats, lps);
@@ -2146,7 +2146,8 @@ lazy_vacuum_indexes(LVRelStats *vacrelstats, Relation *Irel,
 
 	/*
 	 * Perform index vacuuming. If parallel vacuum is active we perform
-	 * index vacuuming with parallel workers. Otherwise do it alone.
+	 * index vacuuming with parallel workers.  Otherwise, we do it in the
+	 * leader process alone.
 	 */
 	if (ParallelVacuumIsActive(lps))
 		lazy_parallel_vacuum_indexes(vacrelstats, Irel, nindexes, stats, lps);
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c
index 23f20d93e5..ff8c7760c0 100644
--- a/src/backend/commands/vacuum.c
+++ b/src/backend/commands/vacuum.c
@@ -1766,19 +1766,19 @@ vacuum_rel(Oid relid, RangeVar *relation, VacuumParams *params)
 	}
 
 	/*
-	 * Check that it's a temporary relation and PARALLEL option is specified.
 	 * Since parallel workers cannot access data in temporary tables, parallel
 	 * vacuum is not allowed for temporary relation.
 	 */
 	if (RelationUsesLocalBuffers(onerel) && params->nworkers >= 0)
 	{
 		ereport(WARNING,
-				(errmsg("skipping \"%s\" --- cannot parallel vacuum temporary tables",
+				(errmsg("skipping vacuum on \"%s\" --- cannot vacuum temporary tables in parallel",
 						RelationGetRelationName(onerel))));
 		relation_close(onerel, lmode);
 		PopActiveSnapshot();
 		CommitTransactionCommand();
-		return false;
+		/* It's OK to proceed with ANALYZE on this table */
+		return true;
 	}
 
 	/*
