diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c
index 7a594df35d46d3e45627b410a1e1cd4c226f3b9b..7739185133874b4f3b948c1e289ade2370e7c715 100644
--- a/src/backend/parser/parse_func.c
+++ b/src/backend/parser/parse_func.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.114 2001/11/12 00:00:55 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.115 2001/12/12 03:28:49 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1165,7 +1165,8 @@ func_get_detail(char *funcname,
 			targetType = GetSysCacheOid(TYPENAME,
 										PointerGetDatum(funcname),
 										0, 0, 0);
-			if (OidIsValid(targetType))
+			if (OidIsValid(targetType) &&
+				!ISCOMPLEX(targetType))
 			{
 				Oid			sourceType = argtypes[0];
 				Node	   *arg1 = lfirst(fargs);