defaultheaders multi spider support removed
diff --git a/scrapy/contrib/downloadermiddleware/defaultheaders.py b/scrapy/contrib/downloadermiddleware/defaultheaders.py
index 57eed1a0aeb..f1d2bd6311f 100644
--- a/scrapy/contrib/downloadermiddleware/defaultheaders.py
+++ b/scrapy/contrib/downloadermiddleware/defaultheaders.py
@@ -3,22 +3,17 @@
 
 See documentation in docs/topics/downloader-middleware.rst
 """
-from scrapy.utils.python import WeakKeyCache
 
 
 class DefaultHeadersMiddleware(object):
 
-    def __init__(self, settings):
-        self._headers = WeakKeyCache(self._default_headers)
-        self._settings = settings
+    def __init__(self, headers):
+        self._headers = headers
 
     @classmethod
     def from_crawler(cls, crawler):
-        return cls(crawler.settings)
-
-    def _default_headers(self, spider):
-        return self._settings.get('DEFAULT_REQUEST_HEADERS').items()
+        return cls(crawler.settings.get('DEFAULT_REQUEST_HEADERS').items())
 
     def process_request(self, request, spider):
-        for k, v in self._headers[spider]:
+        for k, v in self._headers:
             request.headers.setdefault(k, v)
