diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,10 @@
 The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
 and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
 
+## 0.21.2
+### Changed
+- Serialisation test now works for both strict and lazy bytestrings.
+
 ## 0.21.1
 ### Changed
 - Make Base58 faster.
diff --git a/haskoin-core.cabal b/haskoin-core.cabal
--- a/haskoin-core.cabal
+++ b/haskoin-core.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           haskoin-core
-version:        0.21.1
+version:        0.21.2
 synopsis:       Bitcoin & Bitcoin Cash library for Haskell
 description:    Please see the README on GitHub at <https://github.com/haskoin/haskoin-core#readme>
 category:       Bitcoin, Finance, Network
diff --git a/src/Haskoin/Address/Base58.hs b/src/Haskoin/Address/Base58.hs
--- a/src/Haskoin/Address/Base58.hs
+++ b/src/Haskoin/Address/Base58.hs
@@ -21,14 +21,14 @@
 ) where
 
 import Control.Monad
+import Data.Array
 import Data.ByteString (ByteString)
 import qualified Data.ByteString as BS
 import qualified Data.ByteString.Char8 as C
-import Data.Array
-import Data.Char
 import Data.Bytes.Get
 import Data.Bytes.Put
 import Data.Bytes.Serial
+import Data.Char
 import Data.Maybe (fromMaybe, isJust, listToMaybe)
 import Data.String.Conversions (cs)
 import Data.Text (Text)
diff --git a/src/Haskoin/Constants.hs b/src/Haskoin/Constants.hs
--- a/src/Haskoin/Constants.hs
+++ b/src/Haskoin/Constants.hs
@@ -15,7 +15,8 @@
 Cash (BCH), and corresponding public test and private regression test networks.
 -}
 module Haskoin.Constants (
-    Network(..),
+    Network (..),
+
     -- * Constants
     btc,
     btcTest,
diff --git a/src/Haskoin/Util/Arbitrary/Util.hs b/src/Haskoin/Util/Arbitrary/Util.hs
--- a/src/Haskoin/Util/Arbitrary/Util.hs
+++ b/src/Haskoin/Util/Arbitrary/Util.hs
@@ -38,6 +38,7 @@
 import qualified Data.Aeson.Types as A
 import Data.ByteString (ByteString, pack)
 import qualified Data.ByteString.Short as BSS
+import Data.ByteString.Lazy (fromStrict, toStrict)
 import Data.Bytes.Get
 import Data.Bytes.Put
 import Data.Bytes.Serial
@@ -138,8 +139,11 @@
     (Eq a, Show a, T.Typeable a, Serial a) => Gen a -> Spec
 testSerial gen =
     prop ("Binary encoding/decoding identity for " <> name) $
-        forAll gen $ \x ->
+        forAll gen $ \x -> do
+            (runGetL deserialize . runPutL . serialize) x `shouldBe` x
+            (runGetL deserialize . fromStrict . runPutS . serialize) x `shouldBe` x
             (runGetS deserialize . runPutS . serialize) x `shouldBe` Right x
+            (runGetS deserialize . toStrict . runPutL . serialize) x `shouldBe` Right x
   where
     name = show $ T.typeRep $ proxy gen
     proxy :: Gen a -> Proxy a
