diff --git a/src/web-cef3/web.cpp b/src/web-cef3/web.cpp
index c7d55374b6e8ba00a0774492630f005bc5505902..db36c36c54b189ffdb729c5e1948e5fc70aeb937 100644
--- a/src/web-cef3/web.cpp
+++ b/src/web-cef3/web.cpp
@@ -120,11 +120,11 @@ class BrowserClient :
 	public CefLoadHandler
 {
 	std::map<int32, CurrentDownload*> downloads;
-	WebViewOpaque *opaque;
 	CefRefPtr<CefRenderHandler> m_renderHandler;
 	int handlers;
 
 public:
+	WebViewOpaque *opaque;
 	CefRefPtr<CefBrowser> browser;
 	bool first_load;
 	BrowserClient(WebViewOpaque *opaque, RenderHandler *renderHandler, int handlers) : m_renderHandler(renderHandler) {
@@ -870,7 +870,9 @@ void te4_web_shutdown() {
 	}
 
 	for (std::map<BrowserClient*, bool>::iterator it=all.begin(); it != all.end(); ++it) {
-		it->first->browser->GetHost()->CloseBrowser(true);
+		if (!it->first->opaque->crashed) {
+			it->first->browser->GetHost()->CloseBrowser(true);
+		}
 	}
 
 	while (!all_browsers.empty()) {