diff --git a/scrapy/spidermiddlewares/referer.py b/scrapy/spidermiddlewares/referer.py
index b444e34bb..1ddfb37f4 100644
--- a/scrapy/spidermiddlewares/referer.py
+++ b/scrapy/spidermiddlewares/referer.py
@@ -261,6 +261,9 @@ _policy_classes = {p.name: p for p in (
     DefaultReferrerPolicy,
 )}
 
+# Reference: https://www.w3.org/TR/referrer-policy/#referrer-policy-empty-string
+_policy_classes[''] = NoReferrerWhenDowngradePolicy
+
 
 def _load_policy_class(policy, warning_only=False):
     """
@@ -317,8 +320,9 @@ class RefererMiddleware(object):
         policy_name = request.meta.get('referrer_policy')
         if policy_name is None:
             if isinstance(resp_or_url, Response):
-                policy_name = to_native_str(
-                    resp_or_url.headers.get('Referrer-Policy', '').decode('latin1'))
+                policy_header = resp_or_url.headers.get('Referrer-Policy')
+                if policy_header is not None:
+                    policy_name = to_native_str(policy_header.decode('latin1'))
         if policy_name is None:
             return self.default_policy()
 

diff --git a/tests/test_spidermiddleware_referer.py b/tests/test_spidermiddleware_referer.py
index b1c815876..f27f31b74 100644
--- a/tests/test_spidermiddleware_referer.py
+++ b/tests/test_spidermiddleware_referer.py
@@ -526,6 +526,13 @@ class TestPolicyHeaderPredecence003(MixinNoReferrerWhenDowngrade, TestRefererMid
     settings = {'REFERRER_POLICY': 'scrapy.spidermiddlewares.referer.OriginWhenCrossOriginPolicy'}
     resp_headers = {'Referrer-Policy': POLICY_NO_REFERRER_WHEN_DOWNGRADE.title()}
 
+class TestPolicyHeaderPredecence004(MixinNoReferrerWhenDowngrade, TestRefererMiddleware):
+    """
+    The empty string means "no-referrer-when-downgrade"
+    """
+    settings = {'REFERRER_POLICY': 'scrapy.spidermiddlewares.referer.OriginWhenCrossOriginPolicy'}
+    resp_headers = {'Referrer-Policy': ''}
+
 
 class TestReferrerOnRedirect(TestRefererMiddleware):
 

lots of warnings `RuntimeWarning: Could not load referrer policy ''` when running tests
Check `tox -e py36 -- tests/test_crawl.py -s` output. @redapple is it a testing issue, or a problem with the warning? I've first noticed it in https://travis-ci.org/scrapy/scrapy/jobs/208185821 output.
tests/test_spidermiddleware_referer.py::TestPolicyHeaderPredecence004::test
tests/test_spidermiddleware_referer.py::TestRefererMiddleware::test tests/test_spidermiddleware_referer.py::TestRefererMiddlewareDefault::test tests/test_spidermiddleware_referer.py::TestSettingsNoReferrer::test tests/test_spidermiddleware_referer.py::TestSettingsNoReferrerWhenDowngrade::test tests/test_spidermiddleware_referer.py::TestSettingsSameOrigin::test tests/test_spidermiddleware_referer.py::TestSettingsOrigin::test tests/test_spidermiddleware_referer.py::TestSettingsStrictOrigin::test tests/test_spidermiddleware_referer.py::TestSettingsOriginWhenCrossOrigin::test tests/test_spidermiddleware_referer.py::TestSettingsStrictOriginWhenCrossOrigin::test tests/test_spidermiddleware_referer.py::TestSettingsUnsafeUrl::test tests/test_spidermiddleware_referer.py::TestSettingsCustomPolicy::test tests/test_spidermiddleware_referer.py::TestRequestMetaDefault::test tests/test_spidermiddleware_referer.py::TestRequestMetaNoReferrer::test tests/test_spidermiddleware_referer.py::TestRequestMetaNoReferrerWhenDowngrade::test tests/test_spidermiddleware_referer.py::TestRequestMetaSameOrigin::test tests/test_spidermiddleware_referer.py::TestRequestMetaOrigin::test tests/test_spidermiddleware_referer.py::TestRequestMetaSrictOrigin::test tests/test_spidermiddleware_referer.py::TestRequestMetaOriginWhenCrossOrigin::test tests/test_spidermiddleware_referer.py::TestRequestMetaStrictOriginWhenCrossOrigin::test tests/test_spidermiddleware_referer.py::TestRequestMetaUnsafeUrl::test tests/test_spidermiddleware_referer.py::TestRequestMetaPredecence001::test tests/test_spidermiddleware_referer.py::TestRequestMetaPredecence002::test tests/test_spidermiddleware_referer.py::TestRequestMetaPredecence003::test tests/test_spidermiddleware_referer.py::TestRequestMetaSettingFallback::test tests/test_spidermiddleware_referer.py::TestSettingsPolicyByName::test_invalid_name tests/test_spidermiddleware_referer.py::TestSettingsPolicyByName::test_valid_name tests/test_spidermiddleware_referer.py::TestSettingsPolicyByName::test_valid_name_casevariants tests/test_spidermiddleware_referer.py::TestPolicyHeaderPredecence001::test tests/test_spidermiddleware_referer.py::TestPolicyHeaderPredecence002::test tests/test_spidermiddleware_referer.py::TestPolicyHeaderPredecence003::test tests/test_spidermiddleware_referer.py::TestReferrerOnRedirect::test tests/test_spidermiddleware_referer.py::TestReferrerOnRedirectNoReferrer::test tests/test_spidermiddleware_referer.py::TestReferrerOnRedirectSameOrigin::test tests/test_spidermiddleware_referer.py::TestReferrerOnRedirectStrictOrigin::test tests/test_spidermiddleware_referer.py::TestReferrerOnRedirectOriginWhenCrossOrigin::test tests/test_spidermiddleware_referer.py::TestReferrerOnRedirectStrictOriginWhenCrossOrigin::test