diff --git a/src/backend/executor/nodeWindowAgg.c b/src/backend/executor/nodeWindowAgg.c
index 32270d051a..2b78cb6722 100644
--- a/src/backend/executor/nodeWindowAgg.c
+++ b/src/backend/executor/nodeWindowAgg.c
@@ -968,12 +968,12 @@ eval_windowaggregates(WindowAggState *winstate)
 	{
 		/*
 		 * If the skip mode is SKIP TO PAST LAST ROW and we already know that
-		 * current row is a skipped row or an unmatched row, we don't need to
-		 * accumulate rows, just return NULL.
+		 * current row is a skipped row, we don't need to accumulate rows,
+		 * just return NULL. Note that for unamtched row, we need to do
+		 * aggregation so that count(*) shows 0, rather than NULL.
 		 */
 		if (winstate->rpSkipTo == ST_PAST_LAST_ROW &&
-			(get_reduced_frame_map(winstate, winstate->currentpos) == RF_SKIPPED ||
-			 get_reduced_frame_map(winstate, winstate->currentpos) == RF_UNMATCHED))
+			get_reduced_frame_map(winstate, winstate->currentpos) == RF_SKIPPED)
 			agg_result_isnull = true;
 	}
 
@@ -1080,8 +1080,8 @@ next_tuple:
 								 result, isnull);
 
 		/*
-		 * RPR is enabled and we just return NULL. because skip mode is SKIP
-		 * TO PAST LAST ROW and current row is skipped row or unmatched row.
+		 * RPR is defined and we just return NULL because skip mode is SKIP
+		 * TO PAST LAST ROW and current row is skipped row.
 		 */
 		if (agg_result_isnull)
 		{
diff --git a/src/test/regress/expected/rpr.out b/src/test/regress/expected/rpr.out
index 63bed05f05..97bdc630d1 100644
--- a/src/test/regress/expected/rpr.out
+++ b/src/test/regress/expected/rpr.out
@@ -457,22 +457,22 @@ DOWN AS price < PREV(price)
  company1 | 07-02-2023 |   200 |             |            |      |     |      |                       |      
  company1 | 07-03-2023 |   150 |             |            |      |     |      |                       |      
  company1 | 07-04-2023 |   140 |             |            |      |     |      |                       |      
- company1 | 07-05-2023 |   150 |             |            |      |     |      |                       |      
+ company1 | 07-05-2023 |   150 |             |            |      |     |      |                       |     0
  company1 | 07-06-2023 |    90 |          90 |        120 |  130 |  90 |  450 |  112.5000000000000000 |     4
  company1 | 07-07-2023 |   110 |             |            |      |     |      |                       |      
  company1 | 07-08-2023 |   130 |             |            |      |     |      |                       |      
  company1 | 07-09-2023 |   120 |             |            |      |     |      |                       |      
- company1 | 07-10-2023 |   130 |             |            |      |     |      |                       |      
+ company1 | 07-10-2023 |   130 |             |            |      |     |      |                       |     0
  company2 | 07-01-2023 |    50 |          50 |       1400 | 2000 |  50 | 4950 | 1237.5000000000000000 |     4
  company2 | 07-02-2023 |  2000 |             |            |      |     |      |                       |      
  company2 | 07-03-2023 |  1500 |             |            |      |     |      |                       |      
  company2 | 07-04-2023 |  1400 |             |            |      |     |      |                       |      
- company2 | 07-05-2023 |  1500 |             |            |      |     |      |                       |      
+ company2 | 07-05-2023 |  1500 |             |            |      |     |      |                       |     0
  company2 | 07-06-2023 |    60 |          60 |       1200 | 1300 |  60 | 3660 |  915.0000000000000000 |     4
  company2 | 07-07-2023 |  1100 |             |            |      |     |      |                       |      
  company2 | 07-08-2023 |  1300 |             |            |      |     |      |                       |      
  company2 | 07-09-2023 |  1200 |             |            |      |     |      |                       |      
- company2 | 07-10-2023 |  1300 |             |            |      |     |      |                       |      
+ company2 | 07-10-2023 |  1300 |             |            |      |     |      |                       |     0
 (20 rows)
 
 -- using AFTER MATCH SKIP TO NEXT ROW
