diff --git a/src/backend/executor/nodeAgg.c b/src/backend/executor/nodeAgg.c
index 44587a84ba..e32b1ba784 100644
--- a/src/backend/executor/nodeAgg.c
+++ b/src/backend/executor/nodeAgg.c
@@ -777,6 +777,10 @@ advance_transition_function(AggState *aggstate,
 
 	newVal = FunctionCallInvoke(fcinfo);
 
+	/* Ensure transfns returning INTERNAL properly set the isnull flag */
+	Assert(pertrans->aggref->aggtranstype != INTERNALOID ||
+		   (DatumGetPointer(newVal) == NULL) == (fcinfo->isnull == true));
+
 	aggstate->curpertrans = NULL;
 
 	/*
