diff --git a/src/backend/executor/nodeAgg.c b/src/backend/executor/nodeAgg.c
index ee187367c7410e56bfbba4aa3ba92cfdc6b2219b..94764bfa3accde266d2c830910cb57a5c6074560 100644
--- a/src/backend/executor/nodeAgg.c
+++ b/src/backend/executor/nodeAgg.c
@@ -238,8 +238,8 @@ ExecAgg(Agg *node)
 		tupValue = 	projInfo->pi_tupValue;
 		
 		/* initially, set all the values to NULL */
-		null_array = malloc(nagg);
-		for (i=0;i<nagg;i++)
+		null_array = malloc(tupType->natts);
+		for (i=0;i<tupType->natts;i++)
 		    null_array[i] = 'n';
 		oneTuple = heap_formtuple(tupType, tupValue, null_array);
 		free(null_array);