Index: trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java	(revision 6314)
+++ trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java	(revision 6315)
@@ -457,9 +457,10 @@
             }
 
-            /* test for empty tags in the changeset metadata and proceed only after user's confirmation */
+            /* test for empty tags in the changeset metadata and proceed only after user's confirmation.
+             * though, accept if key and value are empty (cf. xor). */
             List<String> emptyChangesetTags = new ArrayList<String>();
             for (final Entry<String, String> i : pnlTagSettings.getTags(true).entrySet()) {
-                if (i.getKey() == null || i.getKey().trim().isEmpty()
-                        || i.getValue() == null || i.getValue().trim().isEmpty()) {
+                if ((i.getKey() == null || i.getKey().trim().isEmpty())
+                        ^ (i.getValue() == null || i.getValue().trim().isEmpty())) {
                     emptyChangesetTags.add(tr("{0}={1}", i.getKey(), i.getValue()));
                 }
