diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for aeson-better-errors
 
+## 0.9.1.2
+
+* Make compatible with mtl-2.3
+
 ## 0.9.1.1
 
 * Make compatible with aeson >2.0.0.0
diff --git a/aeson-better-errors.cabal b/aeson-better-errors.cabal
--- a/aeson-better-errors.cabal
+++ b/aeson-better-errors.cabal
@@ -1,5 +1,5 @@
 name:                aeson-better-errors
-version:             0.9.1.1
+version:             0.9.1.2
 synopsis:            Better error messages when decoding JSON values.
 license:             MIT
 license-file:        LICENSE
diff --git a/src/Data/Aeson/BetterErrors/Internal.hs b/src/Data/Aeson/BetterErrors/Internal.hs
--- a/src/Data/Aeson/BetterErrors/Internal.hs
+++ b/src/Data/Aeson/BetterErrors/Internal.hs
@@ -10,6 +10,10 @@
 import Control.Applicative (Applicative, pure, (<$>), (<*>))
 import Data.Foldable (foldMap)
 #endif
+#if MIN_VERSION_mtl(2, 3, 0)
+import Control.Monad (forM)
+#else
+#endif
 
 import Control.Arrow (left)
 import Control.Monad.Identity
