diff --git a/System/Random/MWC.hs b/System/Random/MWC.hs
--- a/System/Random/MWC.hs
+++ b/System/Random/MWC.hs
@@ -153,6 +153,10 @@
     -- $references
     ) where
 
+#if defined(__GLASGOW_HASKELL__) && !defined(__HADDOCK__)
+#include "MachDeps.h"
+#endif
+
 import Control.Monad           (ap, liftM, unless)
 import Control.Monad.Primitive (PrimMonad, PrimBase, PrimState, unsafePrimToIO, unsafeSTToPrim)
 import Control.Monad.ST        (ST,runST)
@@ -280,20 +284,24 @@
     {-# INLINE uniformR #-}
 
 instance Variate Int where
-#if WORD_SIZE_IN_BITS < 64
+#if WORD_SIZE_IN_BITS == 32
     uniform = uniform1 fromIntegral
-#else
+#elif WORD_SIZE_IN_BITS == 64
     uniform = uniform2 wordsTo64Bit
+#else
+#error "Word size is not 32 nor 64"
 #endif
     uniformR a b = uniformRange a b
     {-# INLINE uniform  #-}
     {-# INLINE uniformR #-}
 
 instance Variate Word where
-#if WORD_SIZE_IN_BITS < 64
+#if WORD_SIZE_IN_BITS == 32
     uniform = uniform1 fromIntegral
-#else
+#elif WORD_SIZE_IN_BITS == 64
     uniform = uniform2 wordsTo64Bit
+#else
+#error "Word size is not 32 nor 64"
 #endif
     uniformR a b = uniformRange a b
     {-# INLINE uniform  #-}
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,8 @@
+## Changes in 0.15.0.1
+
+  * Bug in generation of Int/Word in both uniform and uniformR is fixed. (#75)
+
+
 ## Changes in 0.15.0.0
 
   * `withSystemRandomST` and `createSystemSeed` are added.
diff --git a/mwc-random.cabal b/mwc-random.cabal
--- a/mwc-random.cabal
+++ b/mwc-random.cabal
@@ -1,5 +1,5 @@
 name:           mwc-random
-version:        0.15.0.0
+version:        0.15.0.1
 synopsis:       Fast, high quality pseudo random number generation
 description:
   This package contains code for generating high quality random
