diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c
index b4351462c081d6a002a9b538b9b0e19105418e0f..90344ae6698dc805a4ee9caf552ef73870bc8938 100644
--- a/src/backend/nodes/equalfuncs.c
+++ b/src/backend/nodes/equalfuncs.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.57 2000/01/27 18:11:28 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.58 2000/01/31 01:21:39 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -655,6 +655,17 @@ _equalRangeTblEntry(RangeTblEntry *a, RangeTblEntry *b)
 	return true;
 }
 
+static bool
+_equalSortClause(SortClause *a, SortClause *b)
+{
+	if (a->tleSortGroupRef != b->tleSortGroupRef)
+		return false;
+	if (a->sortop != b->sortop)
+		return false;
+
+	return true;
+}
+
 static bool
 _equalTargetEntry(TargetEntry *a, TargetEntry *b)
 {
@@ -863,6 +874,13 @@ equal(void *a, void *b)
 		case T_RangeTblEntry:
 			retval = _equalRangeTblEntry(a, b);
 			break;
+		case T_SortClause:
+			retval = _equalSortClause(a, b);
+			break;
+		case T_GroupClause:
+			/* GroupClause is equivalent to SortClause */
+			retval = _equalSortClause(a, b);
+			break;
 		case T_TargetEntry:
 			retval = _equalTargetEntry(a, b);
 			break;