Index: trunk/src/org/openstreetmap/josm/gui/dialogs/validator/ValidatorTreePanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/validator/ValidatorTreePanel.java	(revision 5671)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/validator/ValidatorTreePanel.java	(revision 5672)
@@ -2,4 +2,5 @@
 package org.openstreetmap.josm.gui.dialogs.validator;
 
+import java.awt.event.KeyListener;
 import java.awt.event.MouseEvent;
 import java.util.ArrayList;
@@ -11,6 +12,6 @@
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
-import java.util.Map.Entry;
 
 import javax.swing.JTree;
@@ -21,4 +22,5 @@
 import javax.swing.tree.TreeSelectionModel;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.validation.Severity;
@@ -27,5 +29,4 @@
 import org.openstreetmap.josm.gui.preferences.ValidatorPreference;
 import org.openstreetmap.josm.tools.MultiMap;
-import org.openstreetmap.josm.Main;
 
 /**
@@ -70,4 +71,10 @@
         this.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
         setErrorList(errors);
+        for (KeyListener keyListener : getKeyListeners()) {
+            // Fix #3596 - Remove default keyListener to avoid conflicts with JOSM commands
+            if (keyListener.getClass().getName().equals("javax.swing.plaf.basic.BasicTreeUI$Handler")) {
+                removeKeyListener(keyListener);
+            }
+        }
     }
 
