diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp index 737e0a2d90e87c4341d2bededb3d289815df8323..a83609d1ddb70c7da5927a4b4594ec41ebf6a89f 100644 --- a/src/jamidht/jamiaccount.cpp +++ b/src/jamidht/jamiaccount.cpp @@ -1056,11 +1056,10 @@ JamiAccount::loadAccount(const std::string& archive_password, const std::string& }, [this](AccountManager::AuthError error, const std::string& message) { JAMI_WARN("Auth error: %d %s", (int)error, message.c_str()); - { - std::lock_guard<std::mutex> lock(configurationMutex_); - setRegistrationState(RegistrationState::ERROR_GENERIC); - } - Manager::instance().removeAccount(getAccountID()); + setRegistrationState(RegistrationState::ERROR_GENERIC); + runOnMainThread([w = weak()] { + Manager::instance().removeAccount(w.lock()->getAccountID()); + }); }, std::move(callbacks)); } }