Index: trunk/src/org/openstreetmap/josm/io/remotecontrol/AddTagsDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/remotecontrol/AddTagsDialog.java	(revision 16326)
+++ trunk/src/org/openstreetmap/josm/io/remotecontrol/AddTagsDialog.java	(revision 16328)
@@ -11,5 +11,4 @@
 import java.awt.event.KeyEvent;
 import java.awt.event.MouseEvent;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
@@ -18,5 +17,4 @@
 import java.util.Map.Entry;
 import java.util.Set;
-import java.util.stream.Collectors;
 
 import javax.swing.AbstractAction;
@@ -38,4 +36,5 @@
 import org.openstreetmap.josm.gui.util.TableHelper;
 import org.openstreetmap.josm.tools.GBC;
+import org.openstreetmap.josm.tools.TextTagParser;
 
 /**
@@ -293,14 +292,6 @@
      * @since 15316
      */
-    public static String[][] parseUrlTagsToKeyValues(String urlSection) {
-        return Arrays.stream(urlSection.split("\\|"))
-                .map(String::trim)
-                .filter(tag -> !tag.isEmpty() && tag.contains("="))
-                .map(tag -> tag.split("\\s*=\\s*", 2))
-                .map(pair -> {
-                    pair[1] = pair.length < 2 ? "" : pair[1];
-                    return pair;
-                })
-                .collect(Collectors.toList()).toArray(new String[][] {});
+    public static Map<String, String> parseUrlTagsToKeyValues(String urlSection) {
+        return TextTagParser.readTagsByRegexp(urlSection, "\\|", "(.*?)=(.*?)", false);
     }
 
@@ -313,13 +304,5 @@
      */
     public static void addTags(String[][] keyValue, String sender, Collection<? extends OsmPrimitive> primitives) {
-        if (trustedSenders.contains(sender)) {
-            if (MainApplication.getLayerManager().getEditDataSet() != null) {
-                for (String[] row : keyValue) {
-                    UndoRedoHandler.getInstance().add(new ChangePropertyCommand(primitives, row[0], row[1]));
-                }
-            }
-        } else {
-            new AddTagsDialog(keyValue, sender, primitives).showDialog();
-        }
+        new AddTagsDialog(keyValue, sender, primitives).showDialog();
     }
 }
Index: trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java	(revision 16326)
+++ trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java	(revision 16328)
@@ -269,7 +269,5 @@
                 DataSet ds = MainApplication.getLayerManager().getEditDataSet();
                 if (ds != null) {
-                    for (String[] key : AddTagsDialog.parseUrlTagsToKeyValues(args.get("changeset_tags"))) {
-                        ds.addChangeSetTag(key[0], key[1]);
-                    }
+                    AddTagsDialog.parseUrlTagsToKeyValues(args.get("changeset_tags")).forEach(ds::addChangeSetTag);
                 }
             });
