Index: trunk/src/org/openstreetmap/josm/gui/tagging/TagTable.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TagTable.java	(revision 3014)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TagTable.java	(revision 3015)
@@ -356,15 +356,5 @@
         // create the table cell editor and set it to key and value columns
         //
-        editor = new TagCellEditor();
-        getColumnModel().getColumn(0).setCellEditor(editor);
-        getColumnModel().getColumn(1).setCellEditor(editor);
-
-        getSelectionModel().addListSelectionListener(new ListSelectionListener() {
-
-            public void valueChanged(ListSelectionEvent e) {
-                ListSelectionModel rm = getSelectionModel();
-                ListSelectionModel cm = getColumnModel().getSelectionModel();
-            }
-        });
+        setTagCellEditor(new TagCellEditor());
     }
 
@@ -444,4 +434,18 @@
             editor.getEditor().addKeyListener(l);
         }
+    }
+
+    /**
+     * Inject a tag cell editor in the tag table
+     * 
+     * @param editor
+     */
+    public void setTagCellEditor(TagCellEditor editor) {
+        if (isEditing()) {
+            this.editor.cancelCellEditing();
+        }
+        this.editor = editor;
+        getColumnModel().getColumn(0).setCellEditor(editor);
+        getColumnModel().getColumn(1).setCellEditor(editor);
     }
 
