diff --git a/mailbox-core/src/main/java/org/briarproject/mailbox/core/settings/Settings.kt b/mailbox-core/src/main/java/org/briarproject/mailbox/core/settings/Settings.kt
index 01ace732dbcdb82e04f1abaf9034819350121509..bd64f02c504c0bc3d105758159cf88d3b3bbf99a 100644
--- a/mailbox-core/src/main/java/org/briarproject/mailbox/core/settings/Settings.kt
+++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/settings/Settings.kt
@@ -4,11 +4,17 @@ import java.util.Hashtable
 
 class Settings : Hashtable<String, String>() {
 
+    /**
+     * Note that null values will get stored as empty string.
+     */
     override fun put(key: String, value: String?): String? {
         return if (value == null) super.put(key, "")
         else super.put(key, value)
     }
 
+    /**
+     * Note that empty strings get returned as null.
+     */
     override fun get(key: String): String? {
         val value = super.get(key)
         return if (value.isNullOrEmpty()) null
diff --git a/mailbox-core/src/main/java/org/briarproject/mailbox/core/setup/SetupManager.kt b/mailbox-core/src/main/java/org/briarproject/mailbox/core/setup/SetupManager.kt
index 37e4f518148de33390e4de313ce118cf40f8a31b..eb07a5ed5186baf822b8bad58cff56273520a6df 100644
--- a/mailbox-core/src/main/java/org/briarproject/mailbox/core/setup/SetupManager.kt
+++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/setup/SetupManager.kt
@@ -29,7 +29,7 @@ class SetupManager @Inject constructor(
     fun restartSetup() {
         val settings = Settings()
         settings[SETTINGS_SETUP_TOKEN] = randomIdManager.getNewRandomId()
-        settings[SETTINGS_OWNER_TOKEN] = "" // we can't remove or null, so we need to empty it
+        settings[SETTINGS_OWNER_TOKEN] = null
         settingsManager.mergeSettings(settings, SETTINGS_NAMESPACE_OWNER)
     }
 
diff --git a/mailbox-core/src/test/java/org/briarproject/mailbox/core/setup/SetupManagerTest.kt b/mailbox-core/src/test/java/org/briarproject/mailbox/core/setup/SetupManagerTest.kt
index aa4ad01edf673a4270f07fc2fdc98565a5c4d6e0..ca509825b8d0686e90acfce4ce91be2f601bc21e 100644
--- a/mailbox-core/src/test/java/org/briarproject/mailbox/core/setup/SetupManagerTest.kt
+++ b/mailbox-core/src/test/java/org/briarproject/mailbox/core/setup/SetupManagerTest.kt
@@ -95,6 +95,13 @@ class SetupManagerTest : IntegrationTest() {
             assertNull(setupManager.getSetupToken(txn))
             assertEquals(setupManager.getOwnerToken(txn), response.token)
         }
+        // setup token can no longer be used
+        assertEquals(
+            HttpStatusCode.Unauthorized,
+            httpClient.put<HttpResponse>("$baseUrl/setup") {
+                authenticateWithToken(token)
+            }.status
+        )
     }
 
     @Test