diff --git http_cache_transaction.cc http_cache_transaction.cc
index 717522eb6951..e92ba22a9ca9 100644
--- http_cache_transaction.cc
+++ http_cache_transaction.cc
@@ -2554,7 +2554,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);