diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c
index fa9761b..ad80c0d 100644
--- a/src/backend/parser/parse_func.c
+++ b/src/backend/parser/parse_func.c
@@ -1438,7 +1438,7 @@ func_get_detail(List *funcname,
 		 best_candidate != NULL;
 		 best_candidate = best_candidate->next)
 	{
-		if (memcmp(argtypes, best_candidate->args, nargs * sizeof(Oid)) == 0)
+		if (argtypes == NULL || memcmp(argtypes, best_candidate->args, nargs * sizeof(Oid)) == 0)
 			break;
 	}
 
@@ -2047,7 +2047,7 @@ LookupFuncName(List *funcname, int nargs, const Oid *argtypes, bool noError)
 
 	while (clist)
 	{
-		if (memcmp(argtypes, clist->args, nargs * sizeof(Oid)) == 0)
+		if (argtypes == NULL || memcmp(argtypes, clist->args, nargs * sizeof(Oid)) == 0)
 			return clist->oid;
 		clist = clist->next;
 	}
