diff --git a/src/backend/catalog/pg_aggregate.c b/src/backend/catalog/pg_aggregate.c
new file mode 100644
index 66b4af9..e1b9506
*** a/src/backend/catalog/pg_aggregate.c
--- b/src/backend/catalog/pg_aggregate.c
*************** AggregateCreate(const char *aggName,
*** 417,423 ****
  		fnArgs[1] = aggTransType;
  
  		combinefn = lookup_agg_function(aggcombinefnName, 2, fnArgs,
! 										variadicArgType, &combineType);
  
  		/* Ensure the return type matches the aggregates trans type */
  		if (combineType != aggTransType)
--- 417,423 ----
  		fnArgs[1] = aggTransType;
  
  		combinefn = lookup_agg_function(aggcombinefnName, 2, fnArgs,
! 										InvalidOid, &combineType);
  
  		/* Ensure the return type matches the aggregates trans type */
  		if (combineType != aggTransType)
*************** AggregateCreate(const char *aggName,
*** 447,453 ****
  		fnArgs[0] = INTERNALOID;
  
  		serialfn = lookup_agg_function(aggserialfnName, 1,
! 									   fnArgs, variadicArgType,
  									   &rettype);
  
  		if (rettype != BYTEAOID)
--- 447,453 ----
  		fnArgs[0] = INTERNALOID;
  
  		serialfn = lookup_agg_function(aggserialfnName, 1,
! 									   fnArgs, InvalidOid,
  									   &rettype);
  
  		if (rettype != BYTEAOID)
*************** AggregateCreate(const char *aggName,
*** 467,473 ****
  		fnArgs[1] = INTERNALOID;	/* dummy argument for type safety */
  
  		deserialfn = lookup_agg_function(aggdeserialfnName, 2,
! 										 fnArgs, variadicArgType,
  										 &rettype);
  
  		if (rettype != INTERNALOID)
--- 467,473 ----
  		fnArgs[1] = INTERNALOID;	/* dummy argument for type safety */
  
  		deserialfn = lookup_agg_function(aggdeserialfnName, 2,
! 										 fnArgs, InvalidOid,
  										 &rettype);
  
  		if (rettype != INTERNALOID)
