diff --git a/network-transport-tcp.cabal b/network-transport-tcp.cabal
--- a/network-transport-tcp.cabal
+++ b/network-transport-tcp.cabal
@@ -1,5 +1,5 @@
 Name:          network-transport-tcp
-Version:       0.2.0.1
+Version:       0.2.0.2
 Cabal-Version: >=1.8
 Build-Type:    Simple
 License:       BSD3 
@@ -24,11 +24,12 @@
   Build-Depends:   base >= 4.3 && < 5,
                    network-transport >= 0.2 && < 0.3,
                    data-accessor >= 0.2 && < 0.3,
-                   containers >= 0.4 && < 0.5,
-                   bytestring >= 0.9 && < 0.10,
+                   containers >= 0.4 && < 0.6,
+                   bytestring >= 0.9 && < 0.11,
                    network >= 2.3 && < 2.4
   Exposed-modules: Network.Transport.TCP,
                    Network.Transport.TCP.Internal
+  Extensions:      CPP
   ghc-options:     -Wall -fno-warn-unused-do-bind
   HS-Source-Dirs:  src
 
@@ -38,8 +39,8 @@
   Build-Depends:   base >= 4.3 && < 5,
                    network-transport >= 0.2 && < 0.3,
                    data-accessor >= 0.2 && < 0.3,
-                   containers >= 0.4 && < 0.5,
-                   bytestring >= 0.9 && < 0.10,
+                   containers >= 0.4 && < 0.6,
+                   bytestring >= 0.9 && < 0.11,
                    network >= 2.3 && < 2.4,
                    random >= 1.0 && < 1.1,
                    ansi-terminal >= 0.5 && < 0.6,
@@ -50,5 +51,6 @@
                    DeriveDataTypeable,
                    RankNTypes,
                    OverlappingInstances,
-                   OverloadedStrings
+                   OverloadedStrings,
+                   CPP
   HS-Source-Dirs:  tests src
diff --git a/src/Network/Transport/TCP.hs b/src/Network/Transport/TCP.hs
--- a/src/Network/Transport/TCP.hs
+++ b/src/Network/Transport/TCP.hs
@@ -28,7 +28,13 @@
                                -- $design
                              ) where
 
-import Prelude hiding (catch, mapM_)
+import Prelude hiding 
+  ( mapM_
+#if ! MIN_VERSION_base(4,6,0)
+  , catch
+#endif
+  )
+ 
 import Network.Transport
 import Network.Transport.TCP.Internal ( forkServer
                                       , recvWithLength
diff --git a/src/Network/Transport/TCP/Internal.hs b/src/Network/Transport/TCP/Internal.hs
--- a/src/Network/Transport/TCP/Internal.hs
+++ b/src/Network/Transport/TCP/Internal.hs
@@ -6,7 +6,10 @@
                                       , tryCloseSocket
                                       ) where
 
+#if ! MIN_VERSION_base(4,6,0)
 import Prelude hiding (catch)
+#endif
+
 import Network.Transport.Internal (decodeInt32, void, tryIO, forkIOWithUnmask)
 import qualified Network.Socket as N ( HostName
                                      , ServiceName
diff --git a/tests/TestTCP.hs b/tests/TestTCP.hs
--- a/tests/TestTCP.hs
+++ b/tests/TestTCP.hs
@@ -2,7 +2,15 @@
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 module Main where
 
-import Prelude hiding (catch, (>>=), (>>), return, fail)
+import Prelude hiding 
+  ( (>>=)
+  , return
+  , fail
+  , (>>)
+#if ! MIN_VERSION_base(4,6,0)
+  , catch
+#endif
+  )
 import TestTransport (testTransport) 
 import TestAuxiliary (forkTry, runTests)
 import Network.Transport
