diff --git base/message_loop/message_pump_mac.mm base/message_loop/message_pump_mac.mm
index f927e86d6735f..14d418a70422d 100644
--- base/message_loop/message_pump_mac.mm
+++ base/message_loop/message_pump_mac.mm
@@ -807,7 +807,8 @@ void MessagePumpUIApplication::Detach() {
 #else
 
 ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
-  DCHECK(g_app_pump);
+  if (!g_app_pump)
+    return;
   DCHECK_EQ(kNSApplicationModalSafeModeMask, g_app_pump->GetModeMask());
   // Pumping events in private runloop modes is known to interact badly with
   // app modal windows like NSAlert.
@@ -817,7 +818,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
 }
 
 ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() {
-  DCHECK(g_app_pump);
+  if (!g_app_pump)
+    return;
   g_app_pump->SetModeMask(kNSApplicationModalSafeModeMask);
 }