diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c
index 3500303d824cc6677e2101fb5869233d1f46cb95..6310cfc7e5a210d7a2db8cf3f3daec3423e04825 100644
--- a/src/backend/commands/indexcmds.c
+++ b/src/backend/commands/indexcmds.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/commands/indexcmds.c,v 1.83 2002/08/15 03:04:07 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/commands/indexcmds.c,v 1.84 2002/08/16 20:55:09 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -482,6 +482,9 @@ GetDefaultOpClass(Oid attrType, Oid accessMethodId)
 	Oid			exactOid = InvalidOid;
 	Oid			compatibleOid = InvalidOid;
 
+	/* If it's a domain, look at the base type instead */
+	attrType = getBaseType(attrType);
+
 	/*
 	 * We scan through all the opclasses available for the access method,
 	 * looking for one that is marked default and matches the target type
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index 302f9a75ce77ba9490c87be6e36e31a7179a07db..e9c197aa35aaecbe5008a367d1dc2fe055d6830e 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -3,7 +3,7 @@
  *				back to source text
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.114 2002/08/08 17:00:19 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/utils/adt/ruleutils.c,v 1.115 2002/08/16 20:55:09 tgl Exp $
  *
  *	  This software is copyrighted by Jan Wieck - Hamburg.
  *
@@ -2660,6 +2660,10 @@ get_opclass_name(Oid opclass, Oid actual_datatype,
 	char	   *opcname;
 	char	   *nspname;
 
+	/* Domains use their base type's default opclass */
+	if (OidIsValid(actual_datatype))
+		actual_datatype = getBaseType(actual_datatype);
+
 	ht_opc = SearchSysCache(CLAOID,
 							ObjectIdGetDatum(opclass),
 							0, 0, 0);