diff --git a/cabal-install/Distribution/Client/Compat/Exception.hs b/cabal-install/Distribution/Client/Compat/Exception.hs
deleted file mode 100644
index 86b271da3c9f1566c8a7bc832c3a44b1dc95f564..0000000000000000000000000000000000000000
--- a/cabal-install/Distribution/Client/Compat/Exception.hs
+++ /dev/null
@@ -1,26 +0,0 @@
-{-# LANGUAGE CPP #-}
-module Distribution.Client.Compat.Exception (
-  mask,
-  mask_
-  ) where
-
--- We can't move these functions to Distribution.Compat.Exception because the
--- usage of the MIN_VERSION_base macro breaks bootstrapping.
-
-#if MIN_VERSION_base(4,3,0)
--- it's much less of a headache if we re-export the "real" mask and mask_
--- so there's never more than one definition to conflict
-import Control.Exception (mask, mask_)
-#else
-import Control.Exception (block, unblock)
-#endif
-
-#if !MIN_VERSION_base(4,3,0)
--- note: less polymorphic than 'real' mask, to avoid RankNTypes
--- we don't need the full generality where we use it
-mask :: ((IO a -> IO a) -> IO b) -> IO b
-mask handler = block (handler unblock)
-
-mask_ :: IO a -> IO a
-mask_ = block
-#endif
diff --git a/cabal-install/Distribution/Client/Compat/Semaphore.hs b/cabal-install/Distribution/Client/Compat/Semaphore.hs
index 71e4c818c73f149b656515d0baaf5f8ae573d2a6..ca0edbe48b727b052c09297cb6571bd1d6fd5c32 100644
--- a/cabal-install/Distribution/Client/Compat/Semaphore.hs
+++ b/cabal-install/Distribution/Client/Compat/Semaphore.hs
@@ -9,12 +9,10 @@ module Distribution.Client.Compat.Semaphore
 
 import Control.Concurrent.STM (TVar, atomically, newTVar, readTVar, retry,
                                writeTVar)
-import Control.Exception (onException)
+import Control.Exception (mask_, onException)
 import Control.Monad (join, when)
 import Data.Typeable (Typeable)
 
-import Distribution.Client.Compat.Exception (mask_)
-
 -- | 'QSem' is a quantity semaphore in which the resource is aqcuired
 -- and released in units of one. It provides guaranteed FIFO ordering
 -- for satisfying blocked `waitQSem` calls.
diff --git a/cabal-install/Distribution/Client/JobControl.hs b/cabal-install/Distribution/Client/JobControl.hs
index 4f8229c00af211443c80314424d14fa7fec8e5a9..a4d227f307c04978e0ca8886156003f9f6ad98c0 100644
--- a/cabal-install/Distribution/Client/JobControl.hs
+++ b/cabal-install/Distribution/Client/JobControl.hs
@@ -28,8 +28,7 @@ module Distribution.Client.JobControl (
 
 import Control.Monad
 import Control.Concurrent hiding (QSem, newQSem, waitQSem, signalQSem)
-import Control.Exception (SomeException, bracket_, throw, try)
-import Distribution.Client.Compat.Exception (mask)
+import Control.Exception (SomeException, bracket_, mask, throw, try)
 import Distribution.Client.Compat.Semaphore
 
 data JobControl m a = JobControl {
diff --git a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal
index d905b83e8e14a0ce03b180e621eec8abd238453a..d3edd34cab903c1d0e8675e778b4691d440999d4 100644
--- a/cabal-install/cabal-install.cabal
+++ b/cabal-install/cabal-install.cabal
@@ -106,7 +106,6 @@ executable cabal
         Distribution.Client.World
         Distribution.Client.Win32SelfUpgrade
         Distribution.Client.Compat.Environment
-        Distribution.Client.Compat.Exception
         Distribution.Client.Compat.FilePerms
         Distribution.Client.Compat.Semaphore
         Distribution.Client.Compat.Time