diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c
index 9a153741ca2cf85d7e52447e6d153d027a7aed39..13f74ae1997d9fc9faf5e2fcd015c32880196bd4 100644
--- a/src/backend/catalog/index.c
+++ b/src/backend/catalog/index.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.14 1997/03/27 04:13:44 vadim Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.15 1997/04/05 03:36:21 vadim Exp $
  *
  *
  * INTERFACE ROUTINES
@@ -369,9 +369,13 @@ ConstructTupleDescriptor(Oid heapoid,
 	if (atnum > natts)
 	    elog(WARN, "Cannot create index: attribute %d does not exist",
 		 atnum);
-	IndexKey = (IndexElem*) lfirst(attributeList);
-	attributeList = lnext(attributeList);
-	IndexKeyType = IndexKey->tname;
+	if (attributeList) {
+	  IndexKey = (IndexElem*) lfirst(attributeList);
+	  attributeList = lnext(attributeList);
+	  IndexKeyType = IndexKey->tname;
+	} else {
+	  IndexKeyType = NULL;
+	}
 	
 	indexTupDesc->attrs[i] = (AttributeTupleForm) palloc(ATTRIBUTE_TUPLE_SIZE);