diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c
index 8ff64126c95d43fe6099c562364f2e29ebeda2f8..b76709a1a703798fdcba06ae3a5e212196ce76cc 100644
--- a/src/backend/commands/analyze.c
+++ b/src/backend/commands/analyze.c
@@ -1152,13 +1152,13 @@ acquire_sample_rows(Relation onerel, int elevel,
 				 * The first targrows sample rows are simply copied into the
 				 * reservoir. Then we start replacing tuples in the sample
 				 * until we reach the end of the relation.  This algorithm is
-				 * from Jeff Vitter's paper (see full citation below). It
-				 * works by repeatedly computing the number of tuples to skip
-				 * before selecting a tuple, which replaces a randomly chosen
-				 * element of the reservoir (current set of tuples).  At all
-				 * times the reservoir is a true random sample of the tuples
-				 * we've passed over so far, so when we fall off the end of
-				 * the relation we're done.
+				 * from Jeff Vitter's paper (see full citation in
+				 * utils/misc/sampling.c). It works by repeatedly computing
+				 * the number of tuples to skip before selecting a tuple,
+				 * which replaces a randomly chosen element of the reservoir
+				 * (current set of tuples).  At all times the reservoir is a
+				 * true random sample of the tuples we've passed over so far,
+				 * so when we fall off the end of the relation we're done.
 				 */
 				if (numrows < targrows)
 					rows[numrows++] = heap_copytuple(&targtuple);