diff --git a/conftest.py b/conftest.py
index <HASH>..<HASH> 100644
--- a/conftest.py
+++ b/conftest.py
@@ -25,11 +25,18 @@ def client_token(client):
 
 def clean_response(response):
     """Remove a few info from the response before writing cassettes."""
-    if not isinstance(response, dict):
-        return response
-    response["headers"].pop("Set-Cookie", None)
-    response["headers"].pop("Date", None)
-    response["headers"].pop("P3P", None)
+    remove_headers = {"Set-Cookie", "Date", "P3P"}
+    if isinstance(response["headers"], dict):
+        # Normal client stores headers as dict
+        for header_name in remove_headers:
+            response["headers"].pop(header_name, None)
+    elif isinstance(response["headers"], list):
+        # Tornado client stores headers as a list of 2-tuples
+        response["headers"] = [
+            (name, value)
+            for name, value in response["headers"]
+            if name not in remove_headers
+        ]
     return response
test: make clean response work with tornado client