diff --git a/distributed-process.cabal b/distributed-process.cabal
--- a/distributed-process.cabal
+++ b/distributed-process.cabal
@@ -1,5 +1,5 @@
 Name:          distributed-process 
-Version:       0.2.1.1
+Version:       0.2.1.2
 Cabal-Version: >=1.8
 Build-Type:    Simple
 License:       BSD3 
@@ -37,8 +37,8 @@
                      transformers >= 0.2 && < 0.4,
                      mtl >= 2.0 && < 2.2,
                      data-accessor >= 0.2 && < 0.3,
-                     bytestring >= 0.9 && < 0.10,
-                     containers >= 0.4 && < 0.5,
+                     bytestring >= 0.9 && < 0.11,
+                     containers >= 0.4 && < 0.6,
                      old-locale >= 1.0 && < 1.1,
                      time >= 1.2 && < 1.5,
                      template-haskell >= 2.6 && < 2.8,
@@ -68,7 +68,8 @@
                      GADTs,
                      GeneralizedNewtypeDeriving,
                      DeriveDataTypeable,
-                     TemplateHaskell
+                     TemplateHaskell,
+                     CPP
   ghc-options:       -Wall
   HS-Source-Dirs:    src
 
@@ -83,8 +84,8 @@
                      transformers >= 0.2 && < 0.4,
                      mtl >= 2.0 && < 2.2,
                      data-accessor >= 0.2 && < 0.3,
-                     bytestring >= 0.9 && < 0.10,
-                     containers >= 0.4 && < 0.5,
+                     bytestring >= 0.9 && < 0.11,
+                     containers >= 0.4 && < 0.6,
                      old-locale >= 1.0 && < 1.1,
                      time >= 1.2 && < 1.5,
                      template-haskell >= 2.6 && < 2.8,
@@ -99,7 +100,8 @@
                      GADTs,
                      GeneralizedNewtypeDeriving,
                      DeriveDataTypeable,
-                     TemplateHaskell
+                     TemplateHaskell,
+                     CPP
   ghc-options:       -Wall -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind 
   HS-Source-Dirs:    tests src
 
@@ -114,8 +116,8 @@
                      transformers >= 0.2 && < 0.4,
                      mtl >= 2.0 && < 2.2,
                      data-accessor >= 0.2 && < 0.3,
-                     bytestring >= 0.9 && < 0.10,
-                     containers >= 0.4 && < 0.5,
+                     bytestring >= 0.9 && < 0.11,
+                     containers >= 0.4 && < 0.6,
                      old-locale >= 1.0 && < 1.1,
                      time >= 1.2 && < 1.5,
                      template-haskell >= 2.6 && < 2.8,
@@ -130,6 +132,7 @@
                      GADTs,
                      GeneralizedNewtypeDeriving,
                      DeriveDataTypeable,
-                     TemplateHaskell
+                     TemplateHaskell,
+                     CPP
   ghc-options:       -Wall -threaded -rtsopts -with-rtsopts=-N -fno-warn-unused-do-bind 
   HS-Source-Dirs:    tests src
diff --git a/src/Control/Distributed/Process.hs b/src/Control/Distributed/Process.hs
--- a/src/Control/Distributed/Process.hs
+++ b/src/Control/Distributed/Process.hs
@@ -91,7 +91,11 @@
   , DidSpawn(..)
   ) where
 
+
+#if ! MIN_VERSION_base(4,6,0)
 import Prelude hiding (catch)
+#endif
+
 import Data.Typeable (Typeable)
 import Control.Monad.IO.Class (liftIO)
 import Control.Distributed.Process.Internal.Types 
diff --git a/src/Control/Distributed/Process/Internal/Primitives.hs b/src/Control/Distributed/Process/Internal/Primitives.hs
--- a/src/Control/Distributed/Process/Internal/Primitives.hs
+++ b/src/Control/Distributed/Process/Internal/Primitives.hs
@@ -55,7 +55,10 @@
   , monitorPort
   ) where
 
+#if ! MIN_VERSION_base(4,6,0)
 import Prelude hiding (catch)
+#endif
+
 import Data.Binary (decode)
 import Data.Typeable (Typeable, typeOf)
 import Data.Time.Clock (getCurrentTime)
diff --git a/src/Control/Distributed/Process/Node.hs b/src/Control/Distributed/Process/Node.hs
--- a/src/Control/Distributed/Process/Node.hs
+++ b/src/Control/Distributed/Process/Node.hs
@@ -9,7 +9,11 @@
   , localNodeId
   ) where
 
+
+#if ! MIN_VERSION_base(4,6,0)
 import Prelude hiding (catch)
+#endif
+
 import System.IO (fixIO, hPutStrLn, stderr)
 import qualified Data.ByteString.Lazy as BSL (fromChunks)
 import Data.Binary (decode)
diff --git a/tests/TestCH.hs b/tests/TestCH.hs
--- a/tests/TestCH.hs
+++ b/tests/TestCH.hs
@@ -1,6 +1,9 @@
 module Main where 
 
+#if ! MIN_VERSION_base(4,6,0)
 import Prelude hiding (catch)
+#endif
+
 import Data.Binary (Binary(..))
 import Data.Typeable (Typeable)
 import Data.Foldable (forM_)
