diff --git a/tests/test_helpers.h b/tests/test_helpers.h
index 6f5b3f01d3df99996cb58f772db8a29264e92a8b..35c1eb465e3e9eca8fc5e16e87b8f9cef4341dc5 100644
--- a/tests/test_helpers.h
+++ b/tests/test_helpers.h
@@ -101,7 +101,7 @@
 // Duplicate of lrand48() logic but suitable for multithreaded use
 int random_bool() {
     _Thread_local static uint64_t xsubi = 0;
-    xsubi = 0x5deece66d * xsubi + 0xb;
+    xsubi = (0x5deece66d * xsubi + 0xb) & (0xffffffffffff);
     return (xsubi >> 17) % 2 == 0;
 }