diff --git a/src/libclient/conversationmodel.cpp b/src/libclient/conversationmodel.cpp
index 10e0698579cf01b0d77779b5f130b03ead98d396..fac188aa6828c185641e146142d7eac0d371dd63 100644
--- a/src/libclient/conversationmodel.cpp
+++ b/src/libclient/conversationmodel.cpp
@@ -2344,7 +2344,9 @@ ConversationModelPimpl::slotConversationLoaded(uint32_t requestId,
         if (conversation.lastMessageUid.isEmpty() && !conversation.allMessagesLoaded
             && messages.size() != 0) {
             if (conversation.interactions->size() > 0) {
-                QString newLast = conversation.interactions->rbegin()->first;
+                QString newLast;
+                if (conversation.interactions->size() > 0)
+                    newLast = conversation.interactions->rbegin()->first;
                 if (newLast == oldLast && !newLast.isEmpty()) { // [[unlikely]] in c++20
                     qCritical() << "Loading loop detected for " << conversationId << "(" << newLast
                                 << ")";