diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp
index f9c8da26a69cef72881760ab61338783e2603698..96b7dac59d8a8ee8742f3d1e5e98db3dd66f1b8d 100644
--- a/indra/newview/llvoicevivox.cpp
+++ b/indra/newview/llvoicevivox.cpp
@@ -1326,6 +1326,11 @@ void LLVivoxVoiceClient::logoutOfVivox(bool wait)
 
                 result = llcoro::suspendUntilEventOnWithTimeout(mVivoxPump, LOGOUT_ATTEMPT_TIMEOUT, timeoutResult);
 
+                if (sShuttingDown)
+                {
+                    break;
+                }
+
                 LL_DEBUGS("Voice") << "event=" << ll_stream_notation_sd(result) << LL_ENDL;
                 // Don't get confused by prior queued events -- note that it's
                 // very important that mVivoxPump is an LLEventMailDrop, which