diff --git a/src/backend/utils/adt/arrayfuncs.c b/src/backend/utils/adt/arrayfuncs.c
index 392445ea03..ac3b68665c 100644
--- a/src/backend/utils/adt/arrayfuncs.c
+++ b/src/backend/utils/adt/arrayfuncs.c
@@ -2809,7 +2809,6 @@ array_set_slice(Datum arraydatum,
 				overheadlen,
 				oldoverheadlen,
 				addedbefore,
-				addedafter,
 				lenbefore,
 				lenafter,
 				itemsbefore,
@@ -2887,7 +2886,7 @@ array_set_slice(Datum arraydatum,
 	memcpy(lb, ARR_LBOUND(array), ndim * sizeof(int));
 
 	newhasnulls = (ARR_HASNULL(array) || ARR_HASNULL(srcArray));
-	addedbefore = addedafter = 0;
+	addedbefore = 0;
 
 	/*
 	 * Check subscripts
@@ -2915,8 +2914,7 @@ array_set_slice(Datum arraydatum,
 		{
 			if (lowerIndx[0] > (dim[0] + lb[0]))
 				newhasnulls = true; /* will insert nulls */
-			addedafter = upperIndx[0] - (dim[0] + lb[0]) + 1;
-			dim[0] += addedafter;
+			dim[0] += upperIndx[0] - (dim[0] + lb[0]) + 1;
 		}
 	}
 	else