diff --git a/bytestring-arbitrary.cabal b/bytestring-arbitrary.cabal
--- a/bytestring-arbitrary.cabal
+++ b/bytestring-arbitrary.cabal
@@ -2,7 +2,7 @@
 --  documentation, see http://haskell.org/cabal/users-guide/
 
 name:                bytestring-arbitrary
-version:             0.0.1
+version:             0.0.2
 synopsis:            Arbitrary instances for ByteStrings
 -- description:         
 homepage:            https://github.com/tsuraan/bytestring-arbitrary
diff --git a/src/Data/ByteString/Arbitrary.hs b/src/Data/ByteString/Arbitrary.hs
--- a/src/Data/ByteString/Arbitrary.hs
+++ b/src/Data/ByteString/Arbitrary.hs
@@ -66,7 +66,7 @@
     then return preChunks
     else do
       rSeed <- slowRandBs $ 16
-      let hashes = tail $ iterate (hash $ 8*perChunk) rSeed
+      let hashes = tail $ iterate ( hash (8*perChunk) . BS.take 32 ) rSeed
       return $ BS.concat $ preChunks : take rounds hashes
 
 -- | Generate binary data slowly. This generates a list of Word8s, and then
