diff --git a/network-transport-composed.cabal b/network-transport-composed.cabal
--- a/network-transport-composed.cabal
+++ b/network-transport-composed.cabal
@@ -1,11 +1,11 @@
 name:                network-transport-composed
-version:             0.2.0.1
+version:             0.2.1
 synopsis:            Compose network transports
 homepage:            http://haskell-distributed.github.com
 license:             BSD3
 license-file:        LICENSE
 author:              Edsko de Vries
-maintainer:          edsko@well-typed.com, watson.timothy@gmail.com
+maintainer:          Facundo Dominguez <facundo.dominguez@tweag.io>
 bug-reports:         http://github.com/haskell-distributed/network-transport-composed/issues
 copyright:           (c) 2012 Well-Typed LLP
 category:            Network
@@ -20,7 +20,7 @@
   exposed-modules:     Network.Transport.Composed
   build-depends:       base >= 4.3 && < 5,
                        bytestring,
-                       network-transport >= 0.4.0.0 && < 0.5
+                       network-transport >= 0.4.0.0 && < 0.6
   hs-source-dirs:      src
   ghc-options:         -Wall
   extensions:          BangPatterns
diff --git a/src/Network/Transport/Composed.hs b/src/Network/Transport/Composed.hs
--- a/src/Network/Transport/Composed.hs
+++ b/src/Network/Transport/Composed.hs
@@ -48,7 +48,7 @@
   , ConnectErrorCode
   , Connection
   )
-import Network.Transport.Internal (encodeInt32, decodeInt32)
+import Network.Transport.Internal (encodeEnum32, decodeNum32)
 
 data ComposedTransport = ComposedTransport {
     -- | The left transport
@@ -72,7 +72,7 @@
 serializeComposedAddress (RightAddress (EndPointAddress addr)) =
   EndPointAddress $ BSS.concat [BSS.singleton 1, addr]
 serializeComposedAddress (EitherAddress (EndPointAddress addr1) (EndPointAddress addr2)) =
-  EndPointAddress $ BSS.concat [BSS.singleton 2, encodeInt32 (BSS.length addr1), addr1, addr2]
+  EndPointAddress $ BSS.concat [BSS.singleton 2, encodeEnum32 (BSS.length addr1), addr1, addr2]
 
 deserializeComposedAddress :: EndPointAddress -> ComposedAddress
 deserializeComposedAddress (EndPointAddress addr) =
@@ -83,7 +83,7 @@
     0 -> LeftAddress (EndPointAddress remainder)
     1 -> RightAddress (EndPointAddress remainder)
     2 -> let (len, remainder') = BSS.splitAt 4 remainder
-             (a, b) = BSS.splitAt (decodeInt32 len) remainder'
+             (a, b) = BSS.splitAt (decodeNum32 len) remainder'
          in EitherAddress (EndPointAddress a) (EndPointAddress b)
     _ -> error "deserializeComposedAddress"
 
