diff --git http_cache_transaction.cc http_cache_transaction.cc
index 45f3db6aed3c..373b1e3c5b45 100644
--- http_cache_transaction.cc
+++ http_cache_transaction.cc
@@ -2552,7 +2552,8 @@ int HttpCache::Transaction::WriteResponseInfoToEntry(bool truncated) {
// blocking page is shown. An alternative would be to reverse-map the cert
// status to a net error and replay the net error.
if ((response_.headers->HasHeaderValue("cache-control", "no-store")) ||
- IsCertStatusError(response_.ssl_info.cert_status)) {
+ (!cache_->GetSession()->params().ignore_certificate_errors &&
+ IsCertStatusError(response_.ssl_info.cert_status))) {
DoneWritingToEntry(false);
if (net_log_.IsCapturing())
net_log_.EndEvent(NetLogEventType::HTTP_CACHE_WRITE_INFO);