diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumScreen.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumScreen.kt
index 11754834928551376dfb16d12dfdba3769b692cd..e38203b3afec8f3ea14023a6b7ec7dc2702a0935 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumScreen.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumScreen.kt
@@ -67,7 +67,7 @@ fun ForumScreen(
                 if (item == null) {
                     NoForumSelected()
                 } else {
-                    GroupConversationScreen(item)
+                    GroupConversationScreen(viewModel.threadViewModel)
                 }
             }
         }
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumViewModel.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumViewModel.kt
index 9b05d6db6c3a5fa993418985a3c86c5903c5b841..2fbe3812afd437c8bf8b47701e7f3c3d1717b688 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumViewModel.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumViewModel.kt
@@ -36,6 +36,7 @@ import org.briarproject.briar.desktop.viewmodel.asState
 import javax.inject.Inject
 
 class ForumViewModel @Inject constructor(
+    val threadViewModel: ThreadedConversationViewModel,
     private val forumManager: ForumManager,
     briarExecutors: BriarExecutors,
     lifecycleManager: LifecycleManager,
@@ -95,6 +96,7 @@ class ForumViewModel @Inject constructor(
 
     fun selectGroup(groupItem: GroupItem) {
         _selectedGroupItem.value = groupItem
+        threadViewModel.setGroupItem(groupItem)
     }
 
     fun isSelected(groupId: GroupId) = _selectedGroupItem.value?.id == groupId
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/GroupConversationScreen.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/GroupConversationScreen.kt
index 1eb22c902051067fd90df8c7943bfa6934aaaa14..4fdb19682f5dacb7a244f92663919b22fc03489c 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/GroupConversationScreen.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/GroupConversationScreen.kt
@@ -41,7 +41,6 @@ import androidx.compose.material.Text
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.filled.MoreVert
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.LaunchedEffect
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
 import androidx.compose.ui.Alignment.Companion.BottomCenter
@@ -55,19 +54,16 @@ import org.briarproject.briar.desktop.contact.ContactDropDown.State.MAIN
 import org.briarproject.briar.desktop.ui.Constants.HEADER_SIZE
 import org.briarproject.briar.desktop.ui.HorizontalDivider
 import org.briarproject.briar.desktop.utils.InternationalizationUtils.i18n
-import org.briarproject.briar.desktop.viewmodel.viewModel
 
 @Composable
 fun GroupConversationScreen(
-    groupItem: GroupItem,
-    viewModel: ThreadedConversationViewModel = viewModel(),
+    viewModel: ThreadedConversationViewModel,
 ) {
-    LaunchedEffect(groupItem) {
-        viewModel.setGroupItem(groupItem)
-    }
     Scaffold(
         topBar = {
-            GroupConversationHeader(groupItem) { viewModel.deleteGroup(groupItem) }
+            GroupConversationHeader(viewModel.groupItem) {
+                viewModel.deleteGroup(viewModel.groupItem)
+            }
         },
         content = { padding ->
             ThreadedConversationScreen(
@@ -79,7 +75,7 @@ fun GroupConversationScreen(
         },
         bottomBar = {
             GroupInputComposable(viewModel.selectedPost.value) { text ->
-                viewModel.createPost(groupItem, text, viewModel.selectedPost.value?.id)
+                viewModel.createPost(viewModel.groupItem, text, viewModel.selectedPost.value?.id)
             }
         }
     )
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ThreadedConversationViewModel.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ThreadedConversationViewModel.kt
index bea6fc19a3b9cb9c14b23952b519684b333b8cc6..c7acadc5ca78df3860a897d17c6a15a16f55dc9b 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ThreadedConversationViewModel.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ThreadedConversationViewModel.kt
@@ -69,7 +69,8 @@ class ThreadedConversationViewModel @Inject constructor(
         private val LOG = getLogger(ThreadedConversationViewModel::class.java)
     }
 
-    private lateinit var groupItem: GroupItem
+    lateinit var groupItem: GroupItem
+        private set
 
     private val _posts = mutableStateOf<PostsState>(Loading)
     val posts = _posts.asState()
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/viewmodel/ViewModelModule.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/viewmodel/ViewModelModule.kt
index 45797f9d8fa321854e7ce730e39788cccdf0dc85..bcb43539967d35b874c42033ecf5b643927ed529 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/viewmodel/ViewModelModule.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/viewmodel/ViewModelModule.kt
@@ -26,11 +26,11 @@ import org.briarproject.briar.desktop.contact.ContactListViewModel
 import org.briarproject.briar.desktop.contact.add.remote.AddContactViewModel
 import org.briarproject.briar.desktop.conversation.ConversationViewModel
 import org.briarproject.briar.desktop.forums.ForumViewModel
-import org.briarproject.briar.desktop.forums.ThreadedConversationViewModel
 import org.briarproject.briar.desktop.introduction.IntroductionViewModel
 import org.briarproject.briar.desktop.login.StartupViewModel
 import org.briarproject.briar.desktop.navigation.SidebarViewModel
 import org.briarproject.briar.desktop.privategroups.PrivateGroupListViewModel
+import org.briarproject.briar.desktop.privategroups.ThreadedConversationViewModel
 import org.briarproject.briar.desktop.settings.SettingsViewModel
 import kotlin.reflect.KClass