diff --git a/tests/T229.hs b/tests/T229.hs
index 22658521847241140c2d669c07ad1f8b66936c31..1d8c157b29a7a3c70493dbc46d50f5d826af8025 100644
--- a/tests/T229.hs
+++ b/tests/T229.hs
@@ -5,5 +5,11 @@ import Data.Word
 main :: IO ()
 main = do
   -- This should fail due to integer overflow
+#if WORD_SIZE == 8
   m <- newArray_ (0,2^62-1) :: IO (IOUArray Int Word32) -- allocates 0 bytes
   readArray m 17 >>= print -- Read some random location in address space
+#else
+  m <- newArray_ (0,2^30-1) :: IO (IOUArray Int Word32) -- allocates 0 bytes
+  readArray m 17 >>= print -- Read some random location in address space
+#endif
+