Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableMemberCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableMemberCellRenderer.java	(revision 10070)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableMemberCellRenderer.java	(revision 10072)
@@ -15,11 +15,4 @@
  */
 public class MemberTableMemberCellRenderer extends MemberTableCellRenderer {
-
-    /**
-     * Constructs a new {@code MemberTableMemberCellRenderer}.
-     */
-    public MemberTableMemberCellRenderer() {
-        super();
-    }
 
     protected void renderPrimitive(OsmPrimitive primitive, Dimension cellSize) {
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableCellRenderer.java	(revision 10070)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableCellRenderer.java	(revision 10072)
@@ -3,8 +3,5 @@
 
 import java.awt.Color;
-import java.awt.Component;
-import java.awt.Dimension;
 
-import javax.swing.JLabel;
 import javax.swing.JTable;
 import javax.swing.UIManager;
@@ -12,7 +9,5 @@
 
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.gui.DefaultNameFormatter;
 import org.openstreetmap.josm.gui.util.GuiHelper;
-import org.openstreetmap.josm.tools.ImageProvider;
 
 /**
@@ -20,35 +15,23 @@
  *
  */
-public class SelectionTableCellRenderer extends JLabel implements TableCellRenderer {
-    public static final Color BGCOLOR_DOUBLE_ENTRY = new Color(254, 226, 214);
-    public static final Color BGCOLOR_SINGLE_ENTRY = new Color(235, 255, 177);
+public class SelectionTableCellRenderer extends MemberTableMemberCellRenderer {
+    public static final Color BGCOLOR_SINGLE_ENTRY = BGCOLOR_IN_JOSM_SELECTION;
 
     /**
      * reference to the member table model; required, in order to check whether a
-     * selected primitive is already used in the member list of the currently edited
-     * relation
+     * selected primitive is already used in the member list of the currently edited relation
      */
-    private MemberTableModel model;
+    private final MemberTableModel model;
 
     /**
      * constructor
+     * @param model member table model
      */
-    public SelectionTableCellRenderer() {
-        setIcon(null);
-        setOpaque(true);
+    public SelectionTableCellRenderer(MemberTableModel model) {
+        this.model = model;
     }
 
-    /**
-     * reset the renderer
-     */
-    protected void reset() {
-        setBackground(UIManager.getColor("Table.background"));
-        setForeground(UIManager.getColor("Table.foreground"));
-        setBorder(null);
-        setIcon(null);
-        setToolTipText(null);
-    }
-
-    protected void renderBackground(OsmPrimitive primitive) {
+    @Override
+    protected void renderBackgroundForeground(MemberTableModel model, OsmPrimitive primitive, boolean isSelected) {
         Color bgc = UIManager.getColor("Table.background");
         if (primitive != null && model != null && model.getNumMembersWithPrimitive(primitive) == 1) {
@@ -60,28 +43,7 @@
     }
 
-    protected void renderPrimitive(OsmPrimitive primitive, Dimension cellSize) {
-        int size = Math.min(cellSize.width, cellSize.height);
-        setIcon(ImageProvider.getPadded(primitive, new Dimension(size, size)));
-        setText(primitive.getDisplayName(DefaultNameFormatter.getInstance()));
-        setToolTipText(DefaultNameFormatter.getInstance().buildDefaultToolTip(primitive));
-    }
-
     @Override
-    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
-            int row, int column) {
-
-        reset();
-        if (value == null)
-            return this;
-
-        Dimension cellSize = table.getCellRect(row, column, false).getSize();
-
-        renderBackground((OsmPrimitive) value);
-        renderPrimitive((OsmPrimitive) value, cellSize);
-        return this;
-    }
-
-    public void setMemberTableModel(MemberTableModel model) {
-        this.model = model;
+    protected MemberTableModel getModel(JTable table) {
+        return model;
     }
 }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableColumnModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableColumnModel.java	(revision 10070)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/relation/SelectionTableColumnModel.java	(revision 10072)
@@ -10,6 +10,5 @@
     public SelectionTableColumnModel(MemberTableModel model) {
         TableColumn col = null;
-        SelectionTableCellRenderer renderer = new SelectionTableCellRenderer();
-        renderer.setMemberTableModel(model);
+        SelectionTableCellRenderer renderer = new SelectionTableCellRenderer(model);
 
         // column 0 - the member role
