diff --git a/src/models/roommodel.cpp b/src/models/roommodel.cpp
index 9322d1f86c7e35aebd219f6f1b22a6a760aef7f9..6418653e0d7a05ad85be92dfd3d40849a48f0258 100644
--- a/src/models/roommodel.cpp
+++ b/src/models/roommodel.cpp
@@ -65,6 +65,7 @@ void Room::applyEvents(const std::vector<mtx::events::collections::TimelineEvent
         else if (const auto ev = boost::get<StateEvent<state::PinnedEvents>>(&e.data)) {
         } else if (const auto ev = boost::get<StateEvent<state::PowerLevels>>(&e.data)) {
         } else if (const auto ev = boost::get<StateEvent<state::Topic>>(&e.data)) {
+            this->topic = ev->content.topic;
         } else if (const auto ev = boost::get<EncryptedEvent<msg::Encrypted>>(&e.data)) {
         } else if (const auto ev = boost::get<RedactionEvent<msg::Redaction>>(&e.data)) {
         } else if (const auto ev = boost::get<Sticker>(&e.data)) {