diff --git a/Hack/Handler/CGI.hs b/Hack/Handler/CGI.hs
--- a/Hack/Handler/CGI.hs
+++ b/Hack/Handler/CGI.hs
@@ -51,8 +51,8 @@
             }
     res <- app env
     let h = headers res
-    let h' = case lookup "Content-type" h of
-                Nothing -> ("Content-type", "text/html; charset=utf-8") : h
+    let h' = case ilookup "Content-Type" h of
+                Nothing -> ("Content-Type", "text/html; charset=utf-8") : h
                 Just _ -> h
     let s = case status res of
                 0 -> 200
@@ -84,3 +84,8 @@
     helper' (x:rest) = toLower x : helper' rest
     helper' [] = []
 cleanupVarName x = x
+
+-- | Case insensitive lookup
+ilookup :: String -> [(String, a)] -> Maybe a
+ilookup needle haystack = lookup (ls needle) $ map (first ls) haystack where
+    ls = map toLower
diff --git a/hack-handler-cgi.cabal b/hack-handler-cgi.cabal
--- a/hack-handler-cgi.cabal
+++ b/hack-handler-cgi.cabal
@@ -1,5 +1,5 @@
 name:            hack-handler-cgi
-version:         0.0.1
+version:         0.0.2
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -12,6 +12,9 @@
 homepage:        http://github.com/snoyberg/hack-handler-cgi/tree/master
 
 library
-    build-depends:   base, bytestring, hack >= 2009.5.19 , data-default
+    build-depends:   base >= 4 && < 5,
+                     bytestring,
+                     hack >= 2009.5.19,
+                     data-default
     exposed-modules: Hack.Handler.CGI
     ghc-options:     -Wall
