diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt
index b6164d4d24e182841d9355531d93d5275c5db13b..81119e6088a5c0cc858d1da372266aca30440464 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt
@@ -238,6 +238,14 @@ class MessageListFragment : ServiceBoundFragment() {
       }
     adapter.setOnUrlLongClickListener(LinkLongClickMenuHelper())
 
+    adapter.setOnExpansionListener { (messageId) ->
+      val value = viewModel.expandedMessages.value
+      viewModel.expandedMessages.onNext(
+        if (value.contains(messageId)) value - messageId
+        else value + messageId
+      )
+    }
+
     messageList.adapter = adapter
     messageList.layoutManager = linearLayoutManager
     messageList.itemAnimator = null