diff --git a/Userland/Libraries/LibIMAP/Client.cpp b/Userland/Libraries/LibIMAP/Client.cpp index f2ef21ec9a..452fc57a32 100644 --- a/Userland/Libraries/LibIMAP/Client.cpp +++ b/Userland/Libraries/LibIMAP/Client.cpp @@ -179,8 +179,11 @@ ErrorOr>>> Client::send_command(Command&& comm auto promise = Promise>::construct(); m_pending_promises.append(promise); - if (m_pending_promises.size() == 1) - TRY(send_next_command()); + if (m_pending_promises.size() == 1) { + auto maybe_error = send_next_command(); + if (maybe_error.is_error()) + promise->reject(maybe_error.release_error()); + } return promise; }