diff --git a/src/main/kotlin/org/briarproject/briar/desktop/viewmodel/ComposeUtils.kt b/src/main/kotlin/org/briarproject/briar/desktop/viewmodel/ComposeUtils.kt
index 351a0674182c80da061ce8ec285b21aa243265bb..86043d455e8d98a33d08ddcbd201e769b2fd0ad8 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/viewmodel/ComposeUtils.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/viewmodel/ComposeUtils.kt
@@ -52,11 +52,7 @@ fun <VM : ViewModel> viewModel(
         "No ViewModelProvider was provided via LocalViewModelProvider"
     }
 ): VM {
-    val viewModel = if (key == null) {
-        viewModelProvider.get(modelClass)
-    } else {
-        viewModelProvider.get(key, modelClass)
-    }
+    val viewModel = viewModelProvider.get(modelClass, key)
 
     DisposableEffect(key) {
         viewModel.onInit()
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/viewmodel/ViewModelProvider.kt b/src/main/kotlin/org/briarproject/briar/desktop/viewmodel/ViewModelProvider.kt
index dd352bfb2ce758ee1f4fde63a3efc01b4ee98e52..f232f4600fddd8679566cc2bf5c96c766a5210d3 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/viewmodel/ViewModelProvider.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/viewmodel/ViewModelProvider.kt
@@ -16,11 +16,9 @@ constructor(
 
     private val viewModels = HashMap<String, ViewModel>()
 
-    fun <VM : ViewModel> get(modelClass: KClass<VM>): VM =
-        get(modelClass.qualifiedName!!, modelClass)
-
-    fun <VM : ViewModel> get(key: String, modelClass: KClass<VM>): VM {
-        val viewModel = viewModels[key]
+    fun <VM : ViewModel> get(modelClass: KClass<VM>, key: String? = null): VM {
+        val viewModelKey = "${modelClass.qualifiedName}:$key"
+        val viewModel = viewModels[viewModelKey]
 
         if (modelClass.isInstance(viewModel)) {
             return viewModel as VM
@@ -28,7 +26,7 @@ constructor(
 
         try {
             val viewModel = viewModelFactory.create(modelClass)
-            viewModels[key] = viewModel
+            viewModels[viewModelKey] = viewModel
             return viewModel
         } catch (e: InstantiationException) {
             throw RuntimeException("Cannot create an instance of $modelClass", e)