Index: /trunk/src/org/openstreetmap/josm/data/osm/User.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/User.java	(revision 8587)
+++ /trunk/src/org/openstreetmap/josm/data/osm/User.java	(revision 8588)
@@ -20,5 +20,5 @@
  * is only one user object.
  *
- *
+ * @since 227
  */
 public final class User {
@@ -59,4 +59,6 @@
     }
 
+    private static User lastUser = null;
+
     /**
      * Creates a user known to the OSM server
@@ -67,10 +69,19 @@
      */
     public static synchronized User createOsmUser(long uid, String name) {
-        User user = userMap.get(uid);
+
+        if (lastUser != null && lastUser.getId() == uid) {
+            return lastUser;
+        }
+
+        Long ouid = uid;
+        User user = userMap.get(ouid);
         if (user == null) {
             user = new User(uid, name);
-            userMap.put(user.getId(), user);
+            userMap.put(ouid, user);
         }
         if (name != null) user.addName(name);
+
+        lastUser = user;
+
         return user;
     }
