diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+Changed in version 0.6.2.4:
+   * Added back a MonadException instance for mtl's StateT.
+
 Changed in version 0.6.2.3:
    * #110: Recognize the enter key in xterm.
 
diff --git a/System/Console/Haskeline/Backend/WCWidth.hs b/System/Console/Haskeline/Backend/WCWidth.hs
--- a/System/Console/Haskeline/Backend/WCWidth.hs
+++ b/System/Console/Haskeline/Backend/WCWidth.hs
@@ -10,7 +10,6 @@
 
 import System.Console.Haskeline.LineState
 
-import Data.Char
 import Data.List
 import Foreign.C.Types
 
diff --git a/System/Console/Haskeline/MonadException.hs b/System/Console/Haskeline/MonadException.hs
--- a/System/Console/Haskeline/MonadException.hs
+++ b/System/Console/Haskeline/MonadException.hs
@@ -74,3 +74,11 @@
                             (\e -> runReaderT (h e) r)
     block = mapReaderT block
     unblock = mapReaderT unblock
+
+-- Not needed anymore by our code (we have a custom StateT monad),
+-- but we should follow the PVP and not remove this in a point release.
+instance MonadException m => MonadException (StateT s m) where
+    catch f h = StateT $ \s -> catch (runStateT f s)
+                            (\e -> runStateT (h e) s)
+    block = mapStateT block
+    unblock = mapStateT unblock
diff --git a/haskeline.cabal b/haskeline.cabal
--- a/haskeline.cabal
+++ b/haskeline.cabal
@@ -1,6 +1,6 @@
 Name:           haskeline
 Cabal-Version:  >=1.6
-Version:        0.6.2.3
+Version:        0.6.2.4
 Category:       User Interfaces
 License:        BSD3
 License-File:   LICENSE
