diff --git a/Spock.cabal b/Spock.cabal
--- a/Spock.cabal
+++ b/Spock.cabal
@@ -1,5 +1,5 @@
 name:                Spock
-version:             0.6.6.0
+version:             0.6.6.1
 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: routing, middleware, json, blaze, sessions, cookies, database helper, csrf-protection, global state
 Homepage:            https://github.com/agrafix/Spock
diff --git a/src/Web/Spock/Wire.hs b/src/Web/Spock/Wire.hs
--- a/src/Web/Spock/Wire.hs
+++ b/src/Web/Spock/Wire.hs
@@ -112,7 +112,7 @@
       ResponseLBS bsl ->
           Wai.responseLBS status waiHeaders bsl
       ResponseRedirect target ->
-          Wai.responseLBS status302 [("Location", T.encodeUtf8 target)] BSL.empty
+          Wai.responseLBS status302 (("Location", T.encodeUtf8 target) : waiHeaders) BSL.empty
     where
       waiHeaders = map (\(k, v) -> (CI.mk $ T.encodeUtf8 k, T.encodeUtf8 v)) headers
 
@@ -192,7 +192,8 @@
                                               runRWST (runErrorT $ runActionT $ selectedAction) env resp
                                           case r of
                                             Left (ActionRedirect loc) ->
-                                                return $ ResponseState [] status302 (ResponseRedirect loc)
+                                                return $ ResponseState (rs_responseHeaders respState)
+                                                       status302 (ResponseRedirect loc)
                                             Left ActionTryNext ->
                                                 applyAction xs
                                             Left (ActionError errorMsg) ->
