diff --git a/src/RoomList.cpp b/src/RoomList.cpp
index 977cac9952d99161fc94f177d4656653ea27ee8e..fba910a76ef4966babb543bd6c0e8c2bc82ca4c5 100644
--- a/src/RoomList.cpp
+++ b/src/RoomList.cpp
@@ -123,6 +123,8 @@ RoomList::updateUnreadMessageCount(const QString &roomid, int count, int highlig
         rooms_[roomid]->updateUnreadMessageCount(count, highlightedCount);
 
         calculateUnreadMessageCount();
+
+        sortRoomsByLastMessage();
 }
 
 void