diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c
index bc9c9a738a4d7c668fc95a2f77bc3437f8cb823d..594b705b67282cff665abd413187b994adddfb76 100644
--- a/src/backend/parser/parse_func.c
+++ b/src/backend/parser/parse_func.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.35 1998/12/15 12:46:14 vadim Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.36 1998/12/23 14:38:40 thomas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -225,7 +225,7 @@ agg_select_candidate(Oid typeid, CandidateList candidates)
 			}
 		}
 		/* otherwise, don't bother keeping this one around... */
-		else
+		else if (last_candidate != NULL)
 		{
 			last_candidate->next = NULL;
 		}
@@ -399,8 +399,8 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
 				}
 				else
 				{
-					elog(ERROR,"Unable to select an aggregate function for type '%s'",
-						 typeidTypeName(basetype));
+					elog(ERROR,"Unable to select an aggregate function %s(%s)",
+						 funcname, typeidTypeName(basetype));
 				}
 			}