diff --git a/src/add-ons/mail_daemon/inbound_protocols/imap/IMAPConnectionWorker.cpp b/src/add-ons/mail_daemon/inbound_protocols/imap/IMAPConnectionWorker.cpp index ba0c2c2f82..cb747e5678 100644 --- a/src/add-ons/mail_daemon/inbound_protocols/imap/IMAPConnectionWorker.cpp +++ b/src/add-ons/mail_daemon/inbound_protocols/imap/IMAPConnectionWorker.cpp @@ -733,13 +733,16 @@ IMAPConnectionWorker::_Worker() CommandDeleter deleter(*this, command); status_t status = _Connect(); - if (status != B_OK) + if (status != B_OK) { + fOwner.WorkerQuit(this); return status; + } status = command->Process(*this); - if (status != B_OK) + if (status != B_OK) { + fOwner.WorkerQuit(this); return status; - + } if (!command->IsDone()) { deleter.Detach(); command->SetContinuation();