diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp
index 3e2c32fa68e3aac68bb9471ce2687efa88146e4f..ff1f324e17339977d4930eb3b9fc78254d105a5a 100644
--- a/src/timeline/TimelineModel.cpp
+++ b/src/timeline/TimelineModel.cpp
@@ -477,14 +477,14 @@ TimelineModel::addEvents(const mtx::responses::Timeline &timeline)
 
         std::vector<QString> ids = internalAddEvents(timeline.events);
 
-        if (ids.empty())
-                return;
-
-        beginInsertRows(QModelIndex(), 0, static_cast<int>(ids.size() - 1));
-        this->eventOrder.insert(this->eventOrder.begin(), ids.rbegin(), ids.rend());
-        endInsertRows();
+        if (!ids.empty()) {
+                beginInsertRows(QModelIndex(), 0, static_cast<int>(ids.size() - 1));
+                this->eventOrder.insert(this->eventOrder.begin(), ids.rbegin(), ids.rend());
+                endInsertRows();
+        }
 
-        updateLastMessage();
+        if (!timeline.events.empty())
+                updateLastMessage();
 }
 
 template<typename T>