diff --git base/message_loop/message_pump_mac.mm base/message_loop/message_pump_mac.mm
index dd8147b884833..281a88eea8883 100644
--- base/message_loop/message_pump_mac.mm
+++ base/message_loop/message_pump_mac.mm
@@ -696,7 +696,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.
@@ -706,7 +707,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
 }
 
 ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() {
-  DCHECK(g_app_pump);
+  if (!g_app_pump)
+    return;
   g_app_pump->SetModeMask(kNSApplicationModalSafeModeMask);
 }