Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java	(revision 6057)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/RelationListDialog.java	(revision 6058)
@@ -116,5 +116,5 @@
     
     HighlightHelper highlightHelper = new HighlightHelper();
-    
+    private boolean highlightEnabled = Main.pref.getBoolean("draw.target-highlight", true);
     /**
      * Constructs <code>RelationListDialog</code>
@@ -194,5 +194,5 @@
         
         //update highlights
-        if (focused==displaylist && Main.isDisplayingMapView()) {
+        if (highlightEnabled && focused==displaylist && Main.isDisplayingMapView()) {
             if (highlightHelper.highlightOnly(sel)) {
                 Main.map.mapView.repaint();
@@ -316,5 +316,5 @@
         @Override
         public void mouseExited(MouseEvent me) {
-            highlightHelper.clear();
+            if (highlightEnabled) highlightHelper.clear();
         }
         
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(revision 6057)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(revision 6058)
@@ -188,5 +188,5 @@
     class MouseEventHandler extends PopupMenuLauncher {
         private final HighlightHelper helper = new HighlightHelper();
-        
+        private boolean highlightEnabled = Main.pref.getBoolean("draw.target-highlight", true);
         public MouseEventHandler() {
             super(popupMenu);
@@ -201,5 +201,5 @@
                 if (layer == null) return;
                 layer.data.setSelected(Collections.singleton((OsmPrimitive)model.getElementAt(idx)));
-            } else if (Main.isDisplayingMapView()) {
+            } else if (highlightEnabled && Main.isDisplayingMapView()) {
                 if (helper.highlightOnly((OsmPrimitive)model.getElementAt(idx))) {
                     Main.map.mapView.repaint();
@@ -210,5 +210,5 @@
         @Override
         public void mouseExited(MouseEvent me) {
-            helper.clear();
+            if (highlightEnabled) helper.clear();
             super.mouseExited(me);
         }
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java	(revision 6057)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTable.java	(revision 6058)
@@ -8,6 +8,4 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.KeyEvent;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -45,4 +43,5 @@
     private ZoomToGapAction zoomToGap;
     private HighlightHelper highlightHelper = new HighlightHelper();
+    private boolean highlightEnabled;
 
     /**
@@ -142,4 +141,6 @@
     
     private void initHighlighting() {
+        highlightEnabled = Main.pref.getBoolean("draw.target-highlight", true);
+        if (!highlightEnabled) return;
         getMemberTableModel().getSelectionModel().addListSelectionListener(highlighterListener);
         if (Main.isDisplayingMapView()) {
@@ -158,4 +159,5 @@
      */
     class SelectNextColumnCellAction extends AbstractAction {
+        @Override
         public void actionPerformed(ActionEvent e) {
             run();
@@ -212,4 +214,5 @@
     public void stopHighlighting() {
         if (highlighterListener == null) return;
+        if (!highlightEnabled) return;
         getMemberTableModel().getSelectionModel().removeListSelectionListener(highlighterListener);
         highlighterListener = null;
