diff --git a/src/backend/utils/sort/tuplesort.c b/src/backend/utils/sort/tuplesort.c
index b8494a2..3074e8e 100644
--- a/src/backend/utils/sort/tuplesort.c
+++ b/src/backend/utils/sort/tuplesort.c
@@ -905,18 +905,21 @@ tuplesort_begin_datum(Oid datumType, Oid sortOperator, Oid sortCollation,
 	state->datumType = datumType;
 
 	/* Prepare SortSupport data */
-	state->onlyKey = (SortSupport) palloc0(sizeof(SortSupportData));
+	state->sortKeys = (SortSupport) palloc0(sizeof(SortSupportData));
 
-	state->onlyKey->ssup_cxt = CurrentMemoryContext;
-	state->onlyKey->ssup_collation = sortCollation;
-	state->onlyKey->ssup_nulls_first = nullsFirstFlag;
+	state->sortKeys->ssup_cxt = CurrentMemoryContext;
+	state->sortKeys->ssup_collation = sortCollation;
+	state->sortKeys->ssup_nulls_first = nullsFirstFlag;
 	/*
 	 * Conversion to abbreviated representation infeasible in the Datum case.
 	 * It must be possible to subsequently fetch original datum values within
 	 * tuplesort_getdatum(), which would require special-case preservation of
 	 * original values.
 	 */
-	state->onlyKey->abbreviate = false;
+	state->sortKeys->abbreviate = false;
+
+	/* "onlyKey" optimization can always be used */
+	state->onlyKey = state->sortKeys;
 
 	PrepareSortSupportFromOrderingOp(sortOperator, state->onlyKey);
 
