diff --git http_cache_transaction.cc http_cache_transaction.cc
index 489e4960..2c4d719 100644
--- http_cache_transaction.cc
+++ http_cache_transaction.cc
@@ -2535,7 +2535,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(NetLog::TYPE_HTTP_CACHE_WRITE_INFO);