diff --git a/Network/Wai/Parse.hs b/Network/Wai/Parse.hs
--- a/Network/Wai/Parse.hs
+++ b/Network/Wai/Parse.hs
@@ -261,7 +261,8 @@
                     let fnBS = S8.pack "filename"
                     return (ct, name, lookup fnBS attrs)
             case x of
-                Just (Just ct, name, Just filename) -> do
+                Just (mct, name, Just filename) -> do
+                    let ct = fromMaybe "application/octet-stream" mct
                     seed <- sinkInit sink
                     (seed', wasFound, msrc''') <-
                         sinkTillBound bound src'' (sinkAppend sink) seed
diff --git a/wai-extra.cabal b/wai-extra.cabal
--- a/wai-extra.cabal
+++ b/wai-extra.cabal
@@ -1,5 +1,5 @@
 Name:                wai-extra
-Version:             0.2.4.1
+Version:             0.2.4.2
 Synopsis:            Provides some basic WAI handlers and middleware.
 Description:         The goal here is to provide common features without many dependencies.
 License:             BSD3
