diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c
index c1a584846aeb84bbf68cfe23d7fe37aa2319b654..646cfca401aa77730d749503830fd42d054c9b00 100644
--- a/src/backend/executor/spi.c
+++ b/src/backend/executor/spi.c
@@ -229,7 +229,7 @@ SPI_prepare(char *src, int nargs, Oid * argtypes)
 {
 	_SPI_plan  *plan;
 
-	if (nargs < 0 || (nargs > 0 && argtypes == NULL))
+	if (src == NULL || nargs < 0 || (nargs > 0 && argtypes == NULL))
 	{
 		SPI_result = SPI_ERROR_ARGUMENT;
 		return (NULL);