diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c
index 52bab79007e66d80205a07da08bc4437c424232c..2560e9cbc1ee47134ad7d5fcc58324d1e1eec913 100644
--- a/src/backend/optimizer/plan/createplan.c
+++ b/src/backend/optimizer/plan/createplan.c
@@ -4188,6 +4188,9 @@ make_sort_from_groupcols(PlannerInfo *root,
 		SortGroupClause *grpcl = (SortGroupClause *) lfirst(l);
 		TargetEntry *tle = get_tle_by_resno(sub_tlist, grpColIdx[numsortkeys]);
 
+		if (!tle)
+			elog(ERROR, "could not retrive tle for sort-from-groupcols");
+
 		sortColIdx[numsortkeys] = tle->resno;
 		sortOperators[numsortkeys] = grpcl->sortop;
 		collations[numsortkeys] = exprCollation((Node *) tle->expr);