diff --git a/Control/Monad/CatchIO.hs b/Control/Monad/CatchIO.hs
--- a/Control/Monad/CatchIO.hs
+++ b/Control/Monad/CatchIO.hs
@@ -143,7 +143,7 @@
 
 -- | Generalized version of 'E.onException'
 onException :: MonadCatchIO m => m a -> m b -> m a
-onException a onEx = a `catch` (\(e::E.SomeException) -> onEx >> throw e)
+onException a onEx = a `catch` (\e -> onEx >> throw (e::E.SomeException))
 
 _void :: Monad m => m a -> m ()
 _void a = a >> return ()
diff --git a/MonadCatchIO-mtl.cabal b/MonadCatchIO-mtl.cabal
--- a/MonadCatchIO-mtl.cabal
+++ b/MonadCatchIO-mtl.cabal
@@ -1,5 +1,5 @@
 name:                MonadCatchIO-mtl
-version:             0.3.0.0
+version:             0.3.0.1
 description:
         Provides a monad-transformer version of the @Control.Exception.catch@
         function. For this, it defines the @MonadCatchIO@ class, a subset of
