diff --git a/Control/Monad/IO/Peel.hs b/Control/Monad/IO/Peel.hs
--- a/Control/Monad/IO/Peel.hs
+++ b/Control/Monad/IO/Peel.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {- |
 Module      :  Control.Monad.IO.Peel
 Copyright   :  © Anders Kaseorg, 2010
@@ -28,6 +29,9 @@
 import Control.Monad.Trans.List
 import Control.Monad.Trans.Maybe
 import Control.Monad.Trans.Error
+#if MIN_VERSION_transformers(0,4,0)
+import qualified Control.Monad.Trans.Except as Except
+#endif
 import Control.Monad.Trans.Reader
 import Control.Monad.Trans.State
 import qualified Control.Monad.Trans.State.Strict as Strict
@@ -72,6 +76,10 @@
   peelIO = liftPeel peelIO
 instance (Error e, MonadPeelIO m) => MonadPeelIO (ErrorT e m) where
   peelIO = liftPeel peelIO
+#if MIN_VERSION_transformers(0,4,0)
+instance MonadPeelIO m => MonadPeelIO (Except.ExceptT e m) where
+  peelIO = liftPeel peelIO
+#endif
 instance MonadPeelIO m => MonadPeelIO (ReaderT r m) where
   peelIO = liftPeel peelIO
 instance MonadPeelIO m => MonadPeelIO (StateT s m) where
diff --git a/Control/Monad/Trans/Peel.hs b/Control/Monad/Trans/Peel.hs
--- a/Control/Monad/Trans/Peel.hs
+++ b/Control/Monad/Trans/Peel.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {- |
 Module      :  Control.Monad.Trans.Peel
 Copyright   :  © Anders Kaseorg, 2010
@@ -35,6 +36,9 @@
 import Control.Monad.Trans.List
 import Control.Monad.Trans.Maybe
 import Control.Monad.Trans.Error
+#if MIN_VERSION_transformers(0,4,0)
+import qualified Control.Monad.Trans.Except as Except
+#endif
 import Control.Monad.Trans.Reader
 import Control.Monad.Trans.State
 import qualified Control.Monad.Trans.State.Strict as Strict
@@ -101,6 +105,13 @@
   peel = return $ \m -> do
     xe <- runErrorT m
     return $ either throwError return xe
+
+#if MIN_VERSION_transformers(0,4,0)
+instance MonadTransPeel (Except.ExceptT e) where
+  peel = return $ \m -> do
+    xe <- Except.runExceptT m
+    return $ either Except.throwE return xe
+#endif
 
 instance MonadTransPeel (ReaderT r) where
   peel = asks $ \r m -> do
diff --git a/monad-peel.cabal b/monad-peel.cabal
--- a/monad-peel.cabal
+++ b/monad-peel.cabal
@@ -1,5 +1,5 @@
 Name:                monad-peel
-Version:             0.2.1.1
+Version:             0.2.1.2
 Synopsis:            Lift control operations like exception catching through monad transformers
 Description:
   This package defines @MonadPeelIO@, a subset of @MonadIO@ into which
@@ -18,7 +18,7 @@
 Category:            Control
 Build-type:          Simple
 Cabal-version:       >= 1.8
-Tested-With:         GHC == 8.0.1
+Tested-With:         GHC == 8.0.2
 
 Source-repository head
   type:              git
@@ -27,7 +27,7 @@
 Source-repository this
   type:              git
   location:          https://github.com/l29ah/monad-peel.git
-  tag:               0.2.1.1
+  tag:               0.2.1.2
 
 Library
   Exposed-modules:
