diff --git a/src/backend/jit/llvm/llvmjit_expr.c b/src/backend/jit/llvm/llvmjit_expr.c
index 36c5f7d..d04ff62 100644
--- a/src/backend/jit/llvm/llvmjit_expr.c
+++ b/src/backend/jit/llvm/llvmjit_expr.c
@@ -2186,6 +2186,9 @@ llvm_compile_expr(ExprState *state)
 
 					LLVMBasicBlockRef b_init;
 
+					LLVMValueRef v_curaggcontext;
+					LLVMValueRef v_aggcontext;
+
 					aggstate = op->d.agg_init_trans.aggstate;
 					pertrans = op->d.agg_init_trans.pertrans;
 
@@ -2229,6 +2232,17 @@ llvm_compile_expr(ExprState *state)
 					{
 						LLVMValueRef params[3];
 
+						v_aggcontext = l_ptr_const(op->d.agg_init_trans.aggcontext,
+												   l_ptr(StructExprContext));
+
+						v_curaggcontext =
+							LLVMBuildStructGEP(b,
+											   v_aggstatep,
+											   FIELDNO_AGGSTATE_CURAGGCONTEXT,
+											   "aggstate.curaggcontext");
+
+						LLVMBuildStore(b, v_aggcontext, v_curaggcontext);
+
 						params[0] = v_aggstatep;
 						params[1] = v_pertransp;
 						params[2] = v_pergroupp;
