Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheManager.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheManager.java	(revision 17370)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheManager.java	(revision 17371)
@@ -280,4 +280,5 @@
         tblChangesets.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0), "removeFromCache");
         tblChangesets.getActionMap().put("removeFromCache", actRemoveFromCacheAction);
+        tblChangesets.getTableHeader().setReorderingAllowed(false);
 
         tblChangesets.setTransferHandler(new TransferHandler() {
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentPanel.java	(revision 17370)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentPanel.java	(revision 17371)
@@ -126,4 +126,5 @@
         tblContent.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(historyAction.getShortcut().getKeyStroke(), "historyAction");
         tblContent.getActionMap().put("historyAction", historyAction);
+        tblContent.getTableHeader().setReorderingAllowed(false);
         pnl.add(new JScrollPane(tblContent), BorderLayout.CENTER);
         return pnl;
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionPanel.java	(revision 17370)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDiscussionPanel.java	(revision 17371)
@@ -118,4 +118,5 @@
         table = new JTable(model, new ChangesetDiscussionTableColumnModel());
         table.setRowSorter(new ChangesetDiscussionTableRowSorter(model));
+        table.getTableHeader().setReorderingAllowed(false);
 
         table.getColumnModel().getColumn(2).addPropertyChangeListener(evt -> {
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetTagsPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetTagsPanel.java	(revision 17370)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetTagsPanel.java	(revision 17371)
@@ -1,16 +1,19 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.gui.dialogs.changeset;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.BorderLayout;
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
+import java.util.Map;
 
 import javax.swing.BorderFactory;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
+import javax.swing.JTable;
 
 import org.openstreetmap.josm.data.osm.Changeset;
-import org.openstreetmap.josm.gui.tagging.TagEditorModel;
-import org.openstreetmap.josm.gui.tagging.TagTable;
+import org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.ReadOnlyTableModel;
 
 /**
@@ -20,12 +23,14 @@
 public class ChangesetTagsPanel extends JPanel implements PropertyChangeListener {
 
-    private TagEditorModel model;
+    private ReadOnlyTableModel model;
 
     protected void build() {
         setLayout(new BorderLayout());
         setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
-        model = new TagEditorModel();
-        TagTable tblTags = new TagTable(model, 0);
-        tblTags.setEnabled(false);
+        model = new ReadOnlyTableModel();
+        model.setColumnIdentifiers(new String[]{tr("Key"), tr("Value")});
+        JTable tblTags = new JTable(model);
+        tblTags.setAutoCreateRowSorter(true);
+        tblTags.getTableHeader().setReorderingAllowed(false);
         add(new JScrollPane(tblTags), BorderLayout.CENTER);
     }
@@ -45,9 +50,10 @@
         if (!evt.getPropertyName().equals(ChangesetCacheManagerModel.CHANGESET_IN_DETAIL_VIEW_PROP))
             return;
+        model.setRowCount(0);
         Changeset cs = (Changeset) evt.getNewValue();
-        if (cs == null) {
-            model.clear();
-        } else {
-            model.initFromPrimitive(cs);
+        if (cs != null) {
+            for (Map.Entry<String, String> tag : cs.getKeys().entrySet()) {
+                model.addRow(new String[] {tag.getKey(), tag.getValue()});
+            }
         }
     }
