Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetTagsPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetTagsPanel.java	(revision 3137)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetTagsPanel.java	(revision 3138)
@@ -41,7 +41,8 @@
 
     protected void init(Changeset cs) {
-        model.clear();
-        if (cs == null)
+        if (cs == null) {
+            model.clear();
             return;
+        }
         model.initFromTags(cs.getKeys());
     }
Index: trunk/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java	(revision 3137)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java	(revision 3138)
@@ -303,5 +303,5 @@
      */
     public void initFromPrimitive(Tagged primitive) {
-        clear();
+        this.tags.clear();
         for (String key : primitive.keySet()) {
             String value = primitive.get(key);
@@ -320,5 +320,5 @@
      */
     public void initFromTags(Map<String,String> tags) {
-        clear();
+        this.tags.clear();
         for (String key : tags.keySet()) {
             String value = tags.get(key);
@@ -338,5 +338,5 @@
      */
     public void initFromTags(TagCollection tags) {
-        clear();
+        this.tags.clear();
         if (tags == null){
             setDirty(false);
