diff --git a/src/controller.cpp b/src/controller.cpp index 3e2ff7fe7..d77ea32f9 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -720,8 +720,11 @@ void Controller::openOrCreateDirectChat(NeoChatUser *user) const auto existing = activeConnection()->directChats(); if (existing.contains(user)) { - RoomManager::instance().enterRoom(static_cast(activeConnection()->room(existing.value(user)))); - return; + const auto &room = static_cast(activeConnection()->room(existing.value(user))); + if (room) { + RoomManager::instance().enterRoom(room); + return; + } } activeConnection()->requestDirectChat(user); }