diff --git a/System/Console/Haskeline/MonadException.hs b/System/Console/Haskeline/MonadException.hs
index 6514d09c57d0caf6dde0bce40b742bb353ad635e..6f1afa75edd6076fdbd67ffc032caafa9f76a4d3 100644
--- a/System/Console/Haskeline/MonadException.hs
+++ b/System/Console/Haskeline/MonadException.hs
@@ -26,7 +26,9 @@ module System.Console.Haskeline.MonadException(
 
 import qualified Control.Exception as E
 import Control.Exception (Exception,SomeException)
+#if __GLASGOW_HASKELL__ < 705
 import Prelude hiding (catch)
+#endif
 import Control.Monad(liftM, join)
 import Control.Monad.IO.Class
 import Control.Monad.Trans.Reader
diff --git a/System/Console/Haskeline/Monads.hs b/System/Console/Haskeline/Monads.hs
index 265068d835cc846d93cb8f8dc64fdbbd86a4fd2e..a7bc3fb31cd24b0813c167d1dc59a6644bed08d0 100644
--- a/System/Console/Haskeline/Monads.hs
+++ b/System/Console/Haskeline/Monads.hs
@@ -25,7 +25,9 @@ import Control.Monad.Trans.Class (MonadTrans(..))
 import Control.Monad.Trans.Maybe (MaybeT(..))
 import Control.Monad.Trans.Reader hiding (ask,asks)
 import qualified Control.Monad.Trans.Reader as Reader
+#if __GLASGOW_HASKELL__ < 705
 import Prelude hiding (catch)
+#endif
 
 import System.Console.Haskeline.MonadException
 
diff --git a/haskeline.cabal b/haskeline.cabal
index 3628ffebc5b1213f3a9c7247d23733bea01cc628..b63bb2d1e071c566f2a300883d7a01a6aed4b3dc 100644
--- a/haskeline.cabal
+++ b/haskeline.cabal
@@ -46,7 +46,7 @@ flag libiconv
 
 Library
     if impl(ghc>=6.11) {
-        Build-depends: base >=4.1 && < 4.6, containers>=0.1 && < 0.6, directory>=1.0 && < 1.2,
+        Build-depends: base >=4.1 && < 4.7, containers>=0.1 && < 0.6, directory>=1.0 && < 1.2,
                        bytestring>=0.9 && < 0.11
     }
     else {