diff --git a/include/timeline/TimelineItem.h b/include/timeline/TimelineItem.h
index d7e7911a3ee5c2ca41820058ce328b6012cccdc1..9a0aee1d9f0ab19158cd10682573dd6f6706b515 100644
--- a/include/timeline/TimelineItem.h
+++ b/include/timeline/TimelineItem.h
@@ -83,6 +83,7 @@ public:
         void setUserAvatar(const QImage &pixmap);
         DescInfo descriptionMessage() const { return descriptionMsg_; }
         QString eventId() const { return event_id_; }
+        void setEventId(const QString &event_id) { event_id_ = event_id; }
 
         ~TimelineItem();
 
diff --git a/src/timeline/TimelineView.cc b/src/timeline/TimelineView.cc
index 3c8b3604b2517f3e6761c7481064b41dcf335579..d21f30f085dc18b53708dc28ac54222ecf1e35e2 100644
--- a/src/timeline/TimelineView.cc
+++ b/src/timeline/TimelineView.cc
@@ -460,6 +460,10 @@ TimelineView::updatePendingMessage(int txn_id, QString event_id)
             pending_msgs_.head().txn_id == txn_id) { // We haven't received it yet
                 auto msg     = pending_msgs_.dequeue();
                 msg.event_id = event_id;
+
+                if (msg.widget)
+                        msg.widget->setEventId(event_id);
+
                 pending_sent_msgs_.append(msg);
         }