diff --git a/src/web/WebSession.C b/src/web/WebSession.C index 96ac3ac4e7..224ff796b3 100644 --- a/src/web/WebSession.C +++ b/src/web/WebSession.C @@ -680,9 +680,15 @@ bool WebSession::start(WebResponse *response) { try { app_ = controller_->doCreateApplication(this).release(); - if (!app_->internalPathValid_) - if (response->responseType() == WebResponse::ResponseType::Page) - response->setStatus(404); + if (app_) { + if (!app_->internalPathValid_) { + if (response->responseType() == WebResponse::ResponseType::Page) { + response->setStatus(404); + } + } + } else { + throw WException("WebSession::start: ApplicationCreator returned a nullptr"); + } } catch (std::exception& e) { app_ = nullptr;