diff --git a/Network/CGI.hs b/Network/CGI.hs
--- a/Network/CGI.hs
+++ b/Network/CGI.hs
@@ -94,7 +94,7 @@
   , module Network.CGI.Compat
   ) where
 
-import Control.Exception (Exception(..), SomeException, ErrorCall(..))
+import Control.Exception.Extensible (Exception(..), SomeException, ErrorCall(..))
 import Control.Monad (liftM)
 import Control.Monad.Trans (MonadIO, liftIO)
 import Data.Char (toUpper)
@@ -186,8 +186,9 @@
 --   an 'Exception'.
 outputException :: (MonadCGI m,MonadIO m) => SomeException -> m CGIResult
 outputException e = outputInternalServerError es
-    where es | Just (ErrorCall msg) <- fromException e = [msg]
-             | otherwise                               = [show e]
+    where es = case fromException e of
+                 Just (ErrorCall msg) -> [msg]
+                 _ -> [show e]
 
 -- | Output an error page to the user, with the given
 --   HTTP status code in the response. Also logs the error information
diff --git a/Network/CGI/Compat.hs b/Network/CGI/Compat.hs
--- a/Network/CGI/Compat.hs
+++ b/Network/CGI/Compat.hs
@@ -20,7 +20,7 @@
   ) where
 
 import Control.Concurrent (forkIO)
-import Control.Exception as Exception (SomeException,throw,catch,finally)
+import Control.Exception.Extensible as Exception (SomeException,throw,catch,finally)
 import Control.Monad (unless)
 import Control.Monad.Trans (MonadIO, liftIO)
 import qualified Data.Map as Map
diff --git a/Network/CGI/Monad.hs b/Network/CGI/Monad.hs
--- a/Network/CGI/Monad.hs
+++ b/Network/CGI/Monad.hs
@@ -27,7 +27,7 @@
   throwCGI, catchCGI, tryCGI, handleExceptionCGI,
  ) where
 
-import Control.Exception as Exception (SomeException, try, throwIO)
+import Control.Exception.Extensible as Exception (SomeException, try, throwIO)
 import Control.Monad (liftM)
 import Control.Monad.Error (MonadError(..))
 import Control.Monad.Reader (ReaderT(..), asks)
diff --git a/cgi.cabal b/cgi.cabal
--- a/cgi.cabal
+++ b/cgi.cabal
@@ -1,10 +1,11 @@
 Name: cgi
-Version: 3001.1.7.2
-Copyright: Bjorn Bringert, Andy Gill, Ian Lynagh, Erik Meijer, 
-           Sven Panne, Jeremy Shaw
+Version: 3001.1.7.3
+Copyright: Bjorn Bringert, Andy Gill, Anders Kaseorg, Ian Lynagh, 
+           Erik Meijer, Sven Panne, Jeremy Shaw
 Category: Network
-Maintainer: bjorn@bringert.net
+Maintainer: Anders Kaseorg <andersk@mit.edu>
 Author: Bjorn Bringert
+Homepage: http://andersk.mit.edu/haskell/cgi/
 License: BSD3
 License-file: LICENSE
 Synopsis: A library for writing CGI programs
@@ -30,7 +31,12 @@
   Extensions: MultiParamTypeClasses
   ghc-options: -Wall
 
-  Build-depends: network>=2.0, parsec >= 2.0, mtl >= 1.0, xhtml >= 3000.0.0
+  Build-depends:
+    network >= 2.0,
+    parsec >= 2.0,
+    mtl >= 1.0,
+    xhtml >= 3000.0.0,
+    extensible-exceptions
   If flag(split-base)
     Build-depends: base >= 3 && < 5, old-time, old-locale, containers
   Else
