diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c
index 54c0440..52a3fff 100644
--- a/src/backend/optimizer/plan/planner.c
+++ b/src/backend/optimizer/plan/planner.c
@@ -3419,6 +3419,17 @@ create_grouping_paths(PlannerInfo *root,
 		 */
 		partial_grouping_target = make_partialgroup_input_target(root, target);
 
+		/* Apply partial grouping target to partial pathlist. */
+		foreach(lc, input_rel->partial_pathlist)
+		{
+			Path	   *subpath = (Path *) lfirst(lc);
+
+			Assert(subpath->param_info == NULL);
+			lfirst(lc) = apply_projection_to_path(root, input_rel,
+												  subpath,
+												  partial_grouping_target);
+		}
+
 		/* Estimate number of partial groups. */
 		dNumPartialGroups = get_number_of_groups(root,
 												 cheapest_partial_path->rows,
