diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c
index e59b163..9c7fafd 100644
--- a/src/backend/catalog/index.c
+++ b/src/backend/catalog/index.c
@@ -2268,7 +2268,11 @@ IndexBuildHeapRangeScan(Relation heapRelation,
 
 	/* set our scan endpoints */
 	if (!allow_sync)
+	{
+		numblocks = (start_blockno + numblocks <= scan->rs_nblocks)
+						? numblocks : scan->rs_nblocks - start_blockno;
 		heap_setscanlimits(scan, start_blockno, numblocks);
+	}
 	else
 	{
 		/* syncscan can only be requested on whole relation */
