Index: /trunk/src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java	(revision 9527)
+++ /trunk/src/org/openstreetmap/josm/gui/io/UploadPrimitivesTask.java	(revision 9528)
@@ -26,5 +26,4 @@
 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;
@@ -295,8 +294,4 @@
                 }
             }
-            // update the user information
-            if (changeset.getUser() == null) {
-                changeset.setUser(JosmUserIdentityManager.getInstance().asUser());
-            }
             // if required close the changeset
             //
@@ -316,6 +311,4 @@
 
     @Override protected void finish() {
-        if (uploadCanceled)
-            return;
 
         // depending on the success of the upload operation and on the policy for
@@ -335,4 +328,5 @@
                     UploadDialog.getUploadDialog().setSelectedChangesetForNextUpload(changeset);
                 }
+                if (uploadCanceled) return;
                 if (lastException == null) {
                     new Notification(
Index: /trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java	(revision 9527)
+++ /trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java	(revision 9528)
@@ -15,4 +15,5 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
+import org.openstreetmap.josm.gui.JosmUserIdentityManager;
 import org.openstreetmap.josm.gui.io.UploadStrategySpecification;
 import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
@@ -204,4 +205,6 @@
             if (changeset.getId() == 0) {
                 api.openChangeset(changeset, monitor.createSubTaskMonitor(0, false));
+                // update the user information
+                changeset.setUser(JosmUserIdentityManager.getInstance().asUser());
             } else {
                 api.updateChangeset(changeset, monitor.createSubTaskMonitor(0, false));
