diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c
index a83feea396..6a46b60c1e 100644
--- a/src/backend/utils/adt/numeric.c
+++ b/src/backend/utils/adt/numeric.c
@@ -11975,6 +11975,9 @@ accum_sum_final(NumericSumAccum *accum, NumericVar *result)
 
 	/* Remove leading/trailing zeroes */
 	strip_var(result);
+
+	free_var(&pos_var);
+	free_var(&neg_var);
 }
 
 /*
