diff --git a/cgi.cabal b/cgi.cabal
--- a/cgi.cabal
+++ b/cgi.cabal
@@ -1,5 +1,5 @@
 Name: cgi
-Version: 3001.2.2.1
+Version: 3001.2.2.2
 Copyright: Bjorn Bringert, John Chee, Andy Gill, Anders Kaseorg,
            Ian Lynagh, Erik Meijer, Sven Panne, Jeremy Shaw
 Category: Network
@@ -24,6 +24,10 @@
   description: Get Network.URI from the network-uri package
   default: True
 
+Flag old-mtl
+  description: Use mtl-compat and mtl < 2.2.0.1
+  default: False
+
 Library
   Exposed-Modules:
     Network.CGI,
@@ -40,7 +44,6 @@
 
   Build-depends:
     parsec >= 2.0 && < 3.2,
-    mtl>=2.2.1 && < 2.3,
     exceptions < 0.9,
     xhtml >= 3000.0.0 && < 3000.3,
     bytestring < 0.11,
@@ -53,6 +56,12 @@
     Build-depends: network-uri == 2.6.*, network == 2.6.*
   Else
     Build-depends: network < 2.6
+  If flag(old-mtl)
+    Build-depends:
+      mtl>=2.1.3.1 && < 2.3, mtl-compat >= 0.2.1.1 && < 0.3
+  Else
+    Build-depends:
+      mtl>=2.2.1 && < 2.3
 
 --Executable:     printinput
 --Main-Is:        printinput.hs
