diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Pipes-Safe v2.2.8
+# Pipes-Safe v2.2.9
 
 `pipes-safe` builds upon
 [the `pipes` library](https://github.com/Gabriel439/Haskell-Pipes-Library) to
diff --git a/pipes-safe.cabal b/pipes-safe.cabal
--- a/pipes-safe.cabal
+++ b/pipes-safe.cabal
@@ -1,5 +1,5 @@
 Name: pipes-safe
-Version: 2.2.8
+Version: 2.2.9
 Cabal-Version: >=1.8.0.2
 Build-Type: Simple
 License: BSD3
diff --git a/src/Pipes/Safe.hs b/src/Pipes/Safe.hs
--- a/src/Pipes/Safe.hs
+++ b/src/Pipes/Safe.hs
@@ -94,7 +94,9 @@
     ( MonadCatch(..)
     , MonadThrow(..)
     , MonadMask(..)
+#if MIN_VERSION_exceptions(0,10,0)
     , ExitCase(..)
+#endif
     , mask_
     , uninterruptibleMask_
     , catchAll
@@ -197,10 +199,10 @@
       case exitCase_ of
           ExitCaseException_ e -> throwM e
           ExitCaseSuccess_ b   -> return (b, c)
-#endif
 
 -- | This is to avoid an unnecessary partial pattern match in `generalBracket`
 data ExitCase_ a = ExitCaseSuccess_ a | ExitCaseException_ SomeException
+#endif
 
 data Finalizers m = Finalizers
     { _nextKey    :: !Integer
