Index: trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 1529)
+++ trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 1530)
@@ -175,19 +175,13 @@
                 newWay.put(e.getKey(), combined);
             } else if (e.getValue().size() > 1) {
-                if("created_by".equals(e.getKey()))
-                {
-                    newWay.put("created_by", "JOSM");
-                }
-                else
-                {
-                    JComboBox c = new JComboBox(e.getValue().toArray());
-                    c.setEditable(true);
-                    p.add(new JLabel(e.getKey()), GBC.std());
-                    p.add(Box.createHorizontalStrut(10), GBC.std());
-                    p.add(c, GBC.eol());
-                    components.put(e.getKey(), c);
-                }
-            } else
+                JComboBox c = new JComboBox(e.getValue().toArray());
+                c.setEditable(true);
+                p.add(new JLabel(e.getKey()), GBC.std());
+                p.add(Box.createHorizontalStrut(10), GBC.std());
+                p.add(c, GBC.eol());
+                components.put(e.getKey(), c);
+            } else {
                 newWay.put(e.getKey(), e.getValue().iterator().next());
+            }
         }
 
Index: trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 1529)
+++ trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 1530)
@@ -174,19 +174,13 @@
                 newNode.put(e.getKey(), combined);
             } else if (e.getValue().size() > 1) {
-                if("created_by".equals(e.getKey()))
-                {
-                    newNode.put("created_by", "JOSM");
-                }
-                else
-                {
-                    JComboBox c = new JComboBox(e.getValue().toArray());
-                    c.setEditable(true);
-                    p.add(new JLabel(e.getKey()), GBC.std());
-                    p.add(Box.createHorizontalStrut(10), GBC.std());
-                    p.add(c, GBC.eol());
-                    components.put(e.getKey(), c);
-                }
-            } else
+                JComboBox c = new JComboBox(e.getValue().toArray());
+                c.setEditable(true);
+                p.add(new JLabel(e.getKey()), GBC.std());
+                p.add(Box.createHorizontalStrut(10), GBC.std());
+                p.add(c, GBC.eol());
+                components.put(e.getKey(), c);
+            } else {
                 newNode.put(e.getKey(), e.getValue().iterator().next());
+            }
         }
 
Index: trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java	(revision 1529)
+++ trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java	(revision 1530)
@@ -152,5 +152,5 @@
      */
     public static Collection<String> getUninterestingKeys() {
-        if(uninteresting == null) {
+        if (uninteresting == null) {
             uninteresting = Main.pref.getCollection("tags.uninteresting",
                     Arrays.asList(new String[]{"source","note","comment","converted_by","created_by"}));
@@ -303,6 +303,6 @@
     /**
      * true if this object is considered "tagged". To be "tagged", an object
-     * must have one or more "non-standard" tags. "created_by" and "source"
-     * are typically considered "standard" tags and do not make an object
+     * must have one or more "interesting" tags. "created_by" and "source"
+     * are typically considered "uninteresting" and do not make an object
      * "tagged".
      */
Index: trunk/src/org/openstreetmap/josm/io/OsmApi.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmApi.java	(revision 1529)
+++ trunk/src/org/openstreetmap/josm/io/OsmApi.java	(revision 1530)
@@ -20,4 +20,5 @@
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Properties;
 import java.util.StringTokenizer;
 
@@ -264,5 +265,7 @@
         changeset = new Changeset();
         Main.pleaseWaitDlg.currentAction.setText(tr("Opening changeset..."));
-        changeset.put("created_by", "JOSM");
+        Properties sysProp = System.getProperties();
+        Object ua = sysProp.get("http.agent");
+        changeset.put("created_by", (ua == null) ? "JOSM" : ua.toString());
         changeset.put("comment", comment);
         createPrimitive(changeset);
