diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/AddForumDialog.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/AddForumDialog.kt
index c0f6e74bc5621b8fa2ebfb7c75eb158a5ad1b86a..d078c9026591778db9208c8c5b2f342de8a63f29 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/AddForumDialog.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/AddForumDialog.kt
@@ -34,7 +34,6 @@ import androidx.compose.material.TextButton
 import androidx.compose.material.rememberScaffoldState
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.LaunchedEffect
-import androidx.compose.runtime.MutableState
 import androidx.compose.runtime.State
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
@@ -77,6 +76,10 @@ fun AddForumDialog(
         window.minimumSize = Dimension(360, 180)
         val scaffoldState = rememberScaffoldState()
         val name = rememberSaveable { mutableStateOf("") }
+        val onNameChanged = { changedName: String ->
+            // not checking for blank here, so user can still remove all characters
+            if (changedName.length <= MAX_FORUM_NAME_LENGTH) name.value = changedName
+        }
         Surface {
             Scaffold(
                 modifier = Modifier
@@ -93,7 +96,7 @@ fun AddForumDialog(
                     }
                 },
                 content = {
-                    AddForumContent(name, onCreate)
+                    AddForumContent(name.value, onNameChanged, onCreate)
                 },
                 bottomBar = {
                     OkCancelBottomBar(
@@ -101,6 +104,7 @@ fun AddForumDialog(
                         okButtonEnabled = isValidForumName(name.value),
                         onOkButtonClicked = {
                             onCreate(name.value)
+                            onNameChanged("")
                         },
                         onCancelButtonClicked = onCancelButtonClicked,
                     )
@@ -115,17 +119,17 @@ private fun isValidForumName(name: String): Boolean {
 }
 
 @Composable
-fun AddForumContent(name: MutableState<String>, onCreate: (String) -> Unit) {
+fun AddForumContent(name: String, onNameChanged: (String) -> Unit, onCreate: (String) -> Unit) {
     val focusRequester = remember { FocusRequester() }
     OutlinedTextField(
-        value = name.value,
-        onValueChange = { if (it.length <= MAX_FORUM_NAME_LENGTH) name.value = it },
+        value = name,
+        onValueChange = onNameChanged,
         label = { Text(i18n("forum.add.hint")) },
         keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
         singleLine = true,
         onEnter = {
-            onCreate(name.value)
-            name.value = ""
+            onCreate(name)
+            onNameChanged("")
         },
         modifier = Modifier
             .fillMaxWidth()