Index: trunk/src/org/openstreetmap/josm/gui/JosmUserIdentityManager.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/JosmUserIdentityManager.java	(revision 9526)
+++ trunk/src/org/openstreetmap/josm/gui/JosmUserIdentityManager.java	(revision 9527)
@@ -189,4 +189,13 @@
 
     /**
+     * Returns the identity as a {@link User} object
+     *
+     * @return the identity as user, or {@link User#getAnonymous()} if {@link #isAnonymous()}
+     */
+    public User asUser() {
+        return isAnonymous() ? User.getAnonymous() : User.createOsmUser(userInfo != null ? userInfo.getId() : 0, userName);
+    }
+
+    /**
      * Initializes the user identity manager from Basic Authentication values in the {@link org.openstreetmap.josm.data.Preferences}
      * This method should be called if {@code osm-server.auth-method} is set to {@code basic}.
Index: trunk/src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java	(revision 9526)
+++ trunk/src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java	(revision 9527)
@@ -26,4 +26,5 @@
 import org.openstreetmap.josm.gui.HelpAwareOptionPane;
 import org.openstreetmap.josm.gui.HelpAwareOptionPane.ButtonSpec;
+import org.openstreetmap.josm.gui.JosmUserIdentityManager;
 import org.openstreetmap.josm.gui.Notification;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
@@ -294,4 +295,8 @@
                 }
             }
+            // update the user information
+            if (changeset.getUser() == null) {
+                changeset.setUser(JosmUserIdentityManager.getInstance().asUser());
+            }
             // if required close the changeset
             //
