diff --git a/Spock.cabal b/Spock.cabal
--- a/Spock.cabal
+++ b/Spock.cabal
@@ -1,5 +1,5 @@
 name:                Spock
-version:             0.7.11.0
+version:             0.7.12.0
 synopsis:            Another Haskell web framework for rapid development
 description:         This toolbox provides everything you need to get a quick start into web hacking with haskell:
                      .
diff --git a/src/Web/Spock/Internal/CoreAction.hs b/src/Web/Spock/Internal/CoreAction.hs
--- a/src/Web/Spock/Internal/CoreAction.hs
+++ b/src/Web/Spock/Internal/CoreAction.hs
@@ -5,7 +5,7 @@
 module Web.Spock.Internal.CoreAction
     ( ActionT
     , UploadedFile (..)
-    , request, header, cookie, body, jsonBody, jsonBody'
+    , request, header, rawHeader, cookie, body, jsonBody, jsonBody'
     , files, params, param, param', setStatus, setHeader, redirect
     , jumpNext, middlewarePass, modifyVault, queryVault
     , setCookie, setCookie', deleteCookie
@@ -29,7 +29,7 @@
 import Control.Monad.State hiding (get, put)
 import Data.Monoid
 import Data.Time
-import Network.HTTP.Types.Header (ResponseHeaders)
+import Network.HTTP.Types.Header (HeaderName, ResponseHeaders)
 import Network.HTTP.Types.Status
 import Prelude hiding (head)
 #if MIN_VERSION_time(1,5,0)
@@ -57,9 +57,14 @@
 -- | Read a header
 header :: MonadIO m => T.Text -> ActionT m (Maybe T.Text)
 header t =
-    do req <- request
-       return $ fmap T.decodeUtf8 (lookup (CI.mk (T.encodeUtf8 t)) $ Wai.requestHeaders req)
+    liftM (fmap T.decodeUtf8) $ rawHeader (CI.mk (T.encodeUtf8 t))
 {-# INLINE header #-}
+
+-- | Read a header without converting it to text
+rawHeader :: MonadIO m => HeaderName -> ActionT m (Maybe BS.ByteString)
+rawHeader t =
+    liftM (lookup t . Wai.requestHeaders) request
+{-# INLINE rawHeader #-}
 
 -- | Read a cookie
 cookie :: MonadIO m => T.Text -> ActionT m (Maybe T.Text)
diff --git a/src/Web/Spock/Shared.hs b/src/Web/Spock/Shared.hs
--- a/src/Web/Spock/Shared.hs
+++ b/src/Web/Spock/Shared.hs
@@ -11,7 +11,7 @@
      -- * Action types
     , SpockAction, ActionT
      -- * Handling requests
-    , request, header, cookie
+    , request, header, rawHeader, cookie
     , preferredFormat, ClientPreferredFormat(..)
     , body, jsonBody, jsonBody'
     , files, UploadedFile (..)
