diff --git a/src/backend/executor/nodeUnique.c b/src/backend/executor/nodeUnique.c
index 8be0bd8497cf6a8a06f9f749312b93a30e41f0d1..8e81b95d8a83a26e0a76a2fa2344195190c27019 100644
--- a/src/backend/executor/nodeUnique.c
+++ b/src/backend/executor/nodeUnique.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/executor/nodeUnique.c,v 1.1.1.1 1996/07/09 06:21:27 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/executor/nodeUnique.c,v 1.2 1996/07/19 06:27:59 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -124,7 +124,7 @@ ExecUnique(Unique *node)
 
     if (uniqueAttr) {
       tupDesc = ExecGetResultType(uniquestate);
-      typoutput = typtoout((Oid)tupDesc->attrs[uniqueAttrNum]->atttypid);
+      typoutput = typtoout((Oid)tupDesc->attrs[uniqueAttrNum-1]->atttypid);
     }
       
     /* ----------------
@@ -174,8 +174,8 @@ ExecUnique(Unique *node)
 	  if (isNull1 == isNull2) {
 	    if (isNull1) /* both are null, they are equal */
 	      continue;
-	    val1 = fmgr(typoutput, attr1, gettypelem(tupDesc->attrs[uniqueAttrNum]->atttypid));
-	    val2 = fmgr(typoutput, attr2, gettypelem(tupDesc->attrs[uniqueAttrNum]->atttypid));
+	    val1 = fmgr(typoutput, attr1, gettypelem(tupDesc->attrs[uniqueAttrNum-1]->atttypid));
+	    val2 = fmgr(typoutput, attr2, gettypelem(tupDesc->attrs[uniqueAttrNum-1]->atttypid));
 	    /* now, val1 and val2 are ascii representations so we can
 	       use strcmp for comparison */
 	    if (strcmp(val1,val2) == 0) /* they are equal */