Index: trunk/src/org/openstreetmap/josm/data/osm/User.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/User.java	(revision 10840)
+++ trunk/src/org/openstreetmap/josm/data/osm/User.java	(revision 10841)
@@ -5,12 +5,10 @@
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashMap;
-import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
-import java.util.Set;
-
-import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -135,5 +133,5 @@
 
     /** the user name */
-    private final Set<String> names = new HashSet<>();
+    private final LinkedHashSet<String> names = new LinkedHashSet<>();
     /** the user id */
     private final long uid;
@@ -143,7 +141,10 @@
      *
      * @return the user name. Never <code>null</code>, but may be the empty string
+     * @see #getByName(String)
+     * @see #createOsmUser(long, String)
+     * @see #createLocalUser(String)
      */
     public String getName() {
-        return Utils.join("/", names);
+        return names.isEmpty() ? "" : names.iterator().next();
     }
 
@@ -164,4 +165,21 @@
     public void addName(String name) {
         names.add(name);
+    }
+
+    /**
+     * Sets the preferred user name, i.e., the one that will be returned when calling {@link #getName()}.
+     *
+     * Rationale: A user can change its name multiple times and after reading various (outdated w.r.t. user name)
+     * data files it is unclear which is the up-to-date user name.
+     * @param name the preferred user name to set
+     */
+    public void setPreferredName(String name) {
+        if (names.size() == 1 && names.contains(name)) {
+            return;
+        }
+        final Collection<String> allNames = new LinkedHashSet<>(names);
+        names.clear();
+        names.add(name);
+        names.addAll(allNames);
     }
 
Index: trunk/src/org/openstreetmap/josm/io/AbstractParser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/AbstractParser.java	(revision 10840)
+++ trunk/src/org/openstreetmap/josm/io/AbstractParser.java	(revision 10841)
@@ -117,4 +117,5 @@
             if (uid != null) {
                 user = User.createOsmUser(uid, userStr);
+                user.setPreferredName(userStr);
             } else {
                 user = User.createLocalUser(userStr);
