diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,8 @@
+## 3.0.6.1
+
+* Test code: only include a Cookie header if there are cookies. Without this
+  patch, yesod-test cookie handling is broken.
+
 ## 3.0.6
 
 * Add Cookie Handling to Network.Wai.Test [#356](https://github.com/yesodweb/wai/pull/356)
diff --git a/Network/Wai/Test.hs b/Network/Wai/Test.hs
--- a/Network/Wai/Test.hs
+++ b/Network/Wai/Test.hs
@@ -154,7 +154,10 @@
                     | c <- map snd $ Map.toList cookiesForRequest
                     ]
   let cookieValue = toByteString $ Cookie.renderCookies cookiePairs
-  return $ req { requestHeaders = ("Cookie", cookieValue):requestHeaders req }
+      addCookieHeader rest
+        | null cookiePairs = rest
+        | otherwise = ("Cookie", cookieValue) : rest
+  return $ req { requestHeaders = addCookieHeader $ requestHeaders req }
     where checkCookieTime t c =
             case Cookie.setCookieExpires c of
               Nothing -> True
diff --git a/test/Network/Wai/TestSpec.hs b/test/Network/Wai/TestSpec.hs
--- a/test/Network/Wai/TestSpec.hs
+++ b/test/Network/Wai/TestSpec.hs
@@ -187,7 +187,7 @@
                  deleteClientCookie "cookie_name"
                  request $
                    setPath defaultRequest "/get"
-      simpleBody sresp `shouldBe` "[\"\"]"
+      simpleBody sresp `shouldBe` "[]"
 
 
 
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:             3.0.6
+Version:             3.0.6.1
 Synopsis:            Provides some basic WAI handlers and middleware.
 description:
   Provides basic WAI handler and middleware functionality:
