diff --git a/Network/Wai/Application/Classic/Field.hs b/Network/Wai/Application/Classic/Field.hs
--- a/Network/Wai/Application/Classic/Field.hs
+++ b/Network/Wai/Application/Classic/Field.hs
@@ -80,12 +80,12 @@
 addLength :: Integer -> ResponseHeaders -> ResponseHeaders
 addLength len hdr = (hContentLength, BS.pack (show len)) : hdr
 
-newHeader :: Bool -> ByteString -> HTTPDate -> ResponseHeaders
-newHeader ishtml file mtime
+newHeader :: Bool -> ByteString -> ByteString -> ResponseHeaders
+newHeader ishtml file date
   | ishtml    = lastMod : textHtmlHeader
   | otherwise = lastMod : (hContentType, mimeType file) : []
   where
-    lastMod = (hLastModified, formatHTTPDate mtime)
+    lastMod = (hLastModified, date)
 
 mimeType :: ByteString -> MimeType
 mimeType file =fromMaybe defaultMimeType . foldr1 mplus . map lok $ targets
diff --git a/Network/Wai/Application/Classic/File.hs b/Network/Wai/Application/Classic/File.hs
--- a/Network/Wai/Application/Classic/File.hs
+++ b/Network/Wai/Application/Classic/File.hs
@@ -124,7 +124,8 @@
     let mtime = fileInfoTime finfo
         size = fileInfoSize finfo
         sfile = fileInfoName finfo
-        hdr = newHeader ishtml (pathByteString file) mtime
+        date = fileInfoDate finfo
+        hdr = newHeader ishtml (pathByteString file) date
         Just pst = ifmodified req size mtime -- never Nothing
                <|> ifunmodified req size mtime
                <|> ifrange req size mtime
@@ -152,7 +153,8 @@
     finfo <- liftIO $ (getFileInfo spec) (lang file)
     let mtime = fileInfoTime finfo
         size = fileInfoSize finfo
-        hdr = newHeader ishtml (pathByteString file) mtime
+        date = fileInfoDate finfo
+        hdr = newHeader ishtml (pathByteString file) date
         Just pst = ifmodified req size mtime -- never Nothing
                <|> Just (Full ok200)
     case pst of
diff --git a/Network/Wai/Application/Classic/Types.hs b/Network/Wai/Application/Classic/Types.hs
--- a/Network/Wai/Application/Classic/Types.hs
+++ b/Network/Wai/Application/Classic/Types.hs
@@ -41,9 +41,10 @@
   }
 
 data FileInfo = FileInfo {
-    fileInfoName :: Path
-  , fileInfoSize :: Integer
-  , fileInfoTime :: HTTPDate
+    fileInfoName :: !Path
+  , fileInfoSize :: !Integer
+  , fileInfoTime :: !HTTPDate
+  , fileInfoDate :: !ByteString
   } deriving (Eq, Show)
 
 data FileRoute = FileRoute {
diff --git a/wai-app-file-cgi.cabal b/wai-app-file-cgi.cabal
--- a/wai-app-file-cgi.cabal
+++ b/wai-app-file-cgi.cabal
@@ -1,5 +1,5 @@
 Name:                   wai-app-file-cgi
-Version:                0.7.0
+Version:                0.7.1
 Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
 License:                BSD3
