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 cb149a97b1846f4fee22b5bbb3f3a84326b1113b..13f2fd7873e313d1176b3f423655949828d013f0 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
@@ -469,7 +469,8 @@ class MessageListFragment : ServiceBoundFragment() {
   }
 
   private fun loadMore(initial: Boolean = false, lastMessageId: MsgId? = null) {
-    requireActivity().runOnUiThread {
+    // This can be called *after* we’re already detached from the activity
+    activity?.runOnUiThread {
       viewModel.buffer { bufferId ->
         if (bufferId > 0 && bufferId != Int.MAX_VALUE) {
           if (initial) swipeRefreshLayout.isRefreshing = true