diff --git a/contrib/intarray/_int_gist.c b/contrib/intarray/_int_gist.c
index e2f1225d2c39746b80061592bc2be6313c3ef28f..f82024896f23deb6eb4f2a96cf0dab09aab61263 100644
--- a/contrib/intarray/_int_gist.c
+++ b/contrib/intarray/_int_gist.c
@@ -195,7 +195,7 @@ g_int_compress(PG_FUNCTION_ARGS)
 					min = (dr[i] - dr[i - 1]);
 					cand = i;
 				}
-			memmove((void *) &dr[cand - 1], (void *) &dr[cand + 1], (len - cand - 1) * sizeof(int));
+			memmove((void *) &dr[cand - 1], (void *) &dr[cand + 1], (len - cand - 1) * sizeof(int32));
 			len -= 2;
 		}
 		r = resize_intArrayType(r, len);