diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java
index 6538315ffe26ebb0b9a36a2f9c5b2a4936f36a6e..9616e74b348c03408964e0a063fa239ab3670113 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java
@@ -1,5 +1,10 @@
 package net.i2p.router.web;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /** set the theme */
 public class ConfigUIHandler extends FormHandler {
     private boolean _shouldSave;
@@ -24,18 +29,18 @@ public class ConfigUIHandler extends FormHandler {
     private void saveChanges() {
         if (_config == null)
             return;
+        Map<String, String> changes = new HashMap();
+        List<String> removes = new ArrayList();
         String oldTheme = _context.getProperty(CSSHelper.PROP_THEME_NAME, CSSHelper.DEFAULT_THEME);
-        boolean ok;
         if (_config.equals("default")) // obsolete
-            ok = _context.router().saveConfig(CSSHelper.PROP_THEME_NAME, null);
+            removes.add(CSSHelper.PROP_THEME_NAME);
         else
-            ok = _context.router().saveConfig(CSSHelper.PROP_THEME_NAME, _config);
-        if (ok) {
-            if (_universalTheming)
-                ok = _context.router().saveConfig(CSSHelper.PROP_UNIVERSAL_THEMING, "true");
-            else
-                ok = _context.router().saveConfig(CSSHelper.PROP_UNIVERSAL_THEMING, null);
-        }
+            changes.put(CSSHelper.PROP_THEME_NAME, _config);
+        if (_universalTheming)
+            changes.put(CSSHelper.PROP_UNIVERSAL_THEMING, "true");
+        else
+            removes.add(CSSHelper.PROP_UNIVERSAL_THEMING);
+        boolean ok = _context.router().saveConfig(changes, removes);
         if (ok) {
             if (!oldTheme.equals(_config))
                 addFormNotice(_("Theme change saved.") +