diff --git a/cbits/alloc.c b/cbits/alloc.c
index e1320a9559f15c28d4966ee8167f2660cd708977..5ddfcc4626731fdce4f38128df49553682782d09 100644
--- a/cbits/alloc.c
+++ b/cbits/alloc.c
@@ -74,7 +74,7 @@ stgAllocForGMP (size_t size_in_bytes)
 
   /* allocate and fill it in. */
   arr = (StgArrWords *)allocate(rts_unsafeGetMyCapability(), total_size_in_words);
-  SET_ARR_HDR(arr, &stg_ARR_WORDS_info, CCCS, data_size_in_words);
+  SET_ARR_HDR(arr, &stg_ARR_WORDS_info, CCCS, size_in_bytes);
 
   /* and return a ptr to the goods inside the array */
   return arr->payload;