Index: /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/JosmSelectionPanel.java
===================================================================
--- /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/JosmSelectionPanel.java	(revision 32385)
+++ /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/JosmSelectionPanel.java	(revision 32386)
@@ -120,5 +120,5 @@
             putValue(NAME, tr("Copy"));
             putValue(SHORT_DESCRIPTION, tr("Copy to the clipboard"));
-            putValue(SMALL_ICON, ImageProvider.get("copy"));
+            new ImageProvider("copy").getResource().attachImageIcon(this);
             putValue(ACCELERATOR_KEY, Shortcut.getCopyKeyStroke());
             delegate = lstSelection.getActionMap().get("copy");
Index: /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/RelationMemberTable.java
===================================================================
--- /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/RelationMemberTable.java	(revision 32385)
+++ /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/RelationMemberTable.java	(revision 32386)
@@ -97,5 +97,5 @@
             putValue(NAME, tr("Delete"));
             putValue(SHORT_DESCRIPTION, tr("Clear the selected roles or delete the selected members"));
-            putValue(SMALL_ICON, ImageProvider.get("deletesmall"));
+            new ImageProvider("deletesmall").getResource().attachImageIcon(this);
             putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));
             updateEnabledState();
@@ -123,5 +123,5 @@
             putValue(NAME, tr("Paste"));
             putValue(SHORT_DESCRIPTION, tr("Insert new relation members from object in the clipboard"));
-            putValue(SMALL_ICON, ImageProvider.get("paste"));
+            new ImageProvider("paste").getResource().attachImageIcon(this);
             putValue(ACCELERATOR_KEY, Shortcut.getPasteKeyStroke());
             updateEnabledState();
@@ -164,5 +164,5 @@
             putValue(SHORT_DESCRIPTION, tr("Move the selected relation members down by one position"));
             putValue(ACCELERATOR_KEY,keyStroke);
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "movedown"));
+            new ImageProvider("dialogs", "movedown").getResource().attachImageIcon(this);
             updateEnabledState();
         }
@@ -191,5 +191,5 @@
             putValue(SHORT_DESCRIPTION, tr("Move the selected relation members up by one position"));
             putValue(ACCELERATOR_KEY,keyStroke);
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "moveup"));
+            new ImageProvider("dialogs", "moveup").getResource().attachImageIcon(this);
             updateEnabledState();
         }
Index: /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/TurnRestrictionEditor.java
===================================================================
--- /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/TurnRestrictionEditor.java	(revision 32385)
+++ /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/TurnRestrictionEditor.java	(revision 32386)
@@ -23,4 +23,5 @@
 
 import javax.swing.AbstractAction;
+import javax.swing.JButton;
 import javax.swing.JComponent;
 import javax.swing.JDialog;
@@ -46,5 +47,4 @@
 import org.openstreetmap.josm.gui.HelpAwareOptionPane;
 import org.openstreetmap.josm.gui.HelpAwareOptionPane.ButtonSpec;
-import org.openstreetmap.josm.gui.SideButton;
 import org.openstreetmap.josm.gui.dialogs.relation.RelationEditor;
 import org.openstreetmap.josm.gui.help.ContextSensitiveHelpAction;
@@ -99,10 +99,10 @@
         pnl.setLayout(new FlowLayout(FlowLayout.CENTER));
 
-        SideButton b;
-        pnl.add(b = new SideButton(new OKAction()));
+        JButton b;
+        pnl.add(b = new JButton(new OKAction()));
         b.setName("btnOK");
-        pnl.add(b = new SideButton(new CancelAction()));
+        pnl.add(b = new JButton(new CancelAction()));
         b.setName("btnCancel");
-        pnl.add(b = new SideButton(new ContextSensitiveHelpAction(ht("/Plugin/TurnRestrictions#TurnRestrictionEditor"))));
+        pnl.add(b = new JButton(new ContextSensitiveHelpAction(ht("/Plugin/TurnRestrictions#TurnRestrictionEditor"))));
         b.setName("btnHelp");
         return pnl;
@@ -643,5 +643,5 @@
         public ApplyAction() {
             putValue(SHORT_DESCRIPTION, tr("Apply the current updates"));
-            putValue(SMALL_ICON, ImageProvider.get("save"));
+            new ImageProvider("save").getResource().attachImageIcon(this);
             putValue(NAME, tr("Apply"));
             setEnabled(true);
@@ -687,5 +687,5 @@
         public OKAction() {
             putValue(SHORT_DESCRIPTION, tr("Apply the updates and close the dialog"));
-            putValue(SMALL_ICON, ImageProvider.get("ok"));
+            new ImageProvider("ok").getResource().attachImageIcon(this);
             putValue(NAME, tr("OK"));
             setEnabled(true);
@@ -742,5 +742,5 @@
         public CancelAction() {
             putValue(SHORT_DESCRIPTION, tr("Cancel the updates and close the dialog"));
-            putValue(SMALL_ICON, ImageProvider.get("cancel"));
+            new ImageProvider("cancel").getResource().attachImageIcon(this);
             putValue(NAME, tr("Cancel"));
             putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke("ESCAPE"));
@@ -759,5 +759,5 @@
             putValue(NAME, tr("Delete"));
             putValue(SHORT_DESCRIPTION, tr("Delete this turn restriction"));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "delete"));
+            new ImageProvider("dialogs", "delete").getResource().attachImageIcon(this);
             updateEnabledState();
         }
@@ -791,5 +791,5 @@
             putValue(NAME, tr("Select"));
             putValue(SHORT_DESCRIPTION, tr("Select this turn restriction"));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "select"));
+            new ImageProvider("dialogs", "select").getResource().attachImageIcon(this);
             updateEnabledState();
         }
@@ -819,5 +819,5 @@
             putValue(NAME, tr("Zoom to"));
             putValue(SHORT_DESCRIPTION, tr("Activate the layer this turn restriction belongs to and zoom to it"));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs/autoscale", "data"));
+            new ImageProvider("dialogs/autoscale", "data").getResource().attachImageIcon(this);
             updateEnabledState();
         }
Index: /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/TurnRestrictionLegEditor.java
===================================================================
--- /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/TurnRestrictionLegEditor.java	(revision 32385)
+++ /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/TurnRestrictionLegEditor.java	(revision 32386)
@@ -60,9 +60,9 @@
 public class TurnRestrictionLegEditor extends JPanel implements Observer, PrimitiveIdListProvider {
     //static private final Logger logger = Logger.getLogger(TurnRestrictionLegEditor.class.getName());
- 
+
     private JLabel lblOsmObject;
     private final Set<OsmPrimitive> legs = new HashSet<>();
     private TurnRestrictionEditorModel model;
-    private TurnRestrictionLegRole role; 
+    private TurnRestrictionLegRole role;
     private DeleteAction actDelete;
     private CopyAction actCopy;
@@ -70,11 +70,11 @@
     private AcceptAction actAccept;
     private TransferHandler transferHandler;
-    
-    /**
-     * builds the UI 
+
+    /**
+     * builds the UI
      */
     protected void build() {
         setLayout(new BorderLayout());
-        add(lblOsmObject = new JLabel(), BorderLayout.CENTER);      
+        add(lblOsmObject = new JLabel(), BorderLayout.CENTER);
         lblOsmObject.setOpaque(true);
         lblOsmObject.setBorder(null);
@@ -85,5 +85,5 @@
                 )
         );
-        
+
         JPanel pnlButtons = new JPanel(new FlowLayout(FlowLayout.LEFT,0,0));
         pnlButtons.setBorder(null);
@@ -94,5 +94,5 @@
         btn.setText(null);
         btn.setBorder(BorderFactory.createRaisedBevelBorder());
-        
+
         actAccept = new AcceptAction();
         pnlButtons.add(btn = new JButton(actAccept));
@@ -101,9 +101,9 @@
         btn.setBorder(BorderFactory.createRaisedBevelBorder());
         add(pnlButtons, BorderLayout.EAST);
-                
+
         // focus handling
         FocusHandler fh  = new FocusHandler();
-        lblOsmObject.setFocusable(true);    
-        lblOsmObject.addFocusListener(fh);      
+        lblOsmObject.setFocusable(true);
+        lblOsmObject.addFocusListener(fh);
         this.addFocusListener(fh);
 
@@ -113,5 +113,5 @@
         addMouseListener(meh);
         lblOsmObject.addMouseListener(new PopupLauncher());
-        
+
         // enable DEL to remove the object from the turn restriction
         registerKeyboardAction(actDelete,KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0) , JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
@@ -127,14 +127,14 @@
                 JComponent c = (JComponent)e.getSource();
                 TransferHandler th = c.getTransferHandler();
-                th.exportAsDrag(c, e, TransferHandler.COPY);                
-            }                   
+                th.exportAsDrag(c, e, TransferHandler.COPY);
+            }
         });
         actCopy = new CopyAction();
         actPaste = new PasteAction();
     }
-    
-    /**
-     * Constructor 
-     * 
+
+    /**
+     * Constructor
+     *
      * @param model the model. Must not be null.
      * @param role the leg role of the leg this editor is editing. Must not be null.
@@ -145,10 +145,10 @@
         CheckParameterUtil.ensureParameterNotNull(model, "model");
         CheckParameterUtil.ensureParameterNotNull(role, "role");
-        
+
         this.model = model;
         this.role = role;
         build();
         model.addObserver(this);
-        refresh();  
+        refresh();
     }
 
@@ -171,10 +171,10 @@
             lblOsmObject.setIcon(null);
             lblOsmObject.setText(tr("multiple objects with role ''{0}''",this.role.getOsmRole()));
-            lblOsmObject.setToolTipText(null);          
+            lblOsmObject.setToolTipText(null);
         }
         renderColors();
         actDelete.updateEnabledState();
     }
-    
+
     /**
      * Render the foreground and background color
@@ -191,30 +191,30 @@
         }
     }
-    
+
     /**
      * Replies the model for this editor
-     * 
-     * @return the model 
+     *
+     * @return the model
      */
     public TurnRestrictionEditorModel getModel() {
         return model;
     }
-    
-    /**
-     * Replies the role of this editor 
-     * 
-     * @return the role 
+
+    /**
+     * Replies the role of this editor
+     *
+     * @return the role
      */
     public TurnRestrictionLegRole getRole() {
         return role;
-    }       
-    
+    }
+
     /* ----------------------------------------------------------------------------- */
     /* interface Observer                                                            */
     /* ----------------------------------------------------------------------------- */
     public void update(Observable o, Object arg) {
-        refresh();      
-    }
-    
+        refresh();
+    }
+
     /* ----------------------------------------------------------------------------- */
     /* interface PrimitiveIdListProvider                                                            */
@@ -226,10 +226,10 @@
         return Collections.emptyList();
     }
-    
+
     /* ----------------------------------------------------------------------------- */
     /* inner classes                                                                 */
-    /* ----------------------------------------------------------------------------- */ 
-    /**
-     * Responds to focus change events  
+    /* ----------------------------------------------------------------------------- */
+    /**
+     * Responds to focus change events
      */
     class FocusHandler extends FocusAdapter {
@@ -242,16 +242,16 @@
         public void focusLost(FocusEvent e) {
             renderColors();
-        }       
-    }
-    
+        }
+    }
+
     class MouseEventHandler extends MouseAdapter {
         @Override
         public void mouseClicked(MouseEvent e) {
             lblOsmObject.requestFocusInWindow();
-        }       
-    }
-    
-    /**
-     * Deletes the way from the turn restriction 
+        }
+    }
+
+    /**
+     * Deletes the way from the turn restriction
      */
     class DeleteAction extends AbstractAction {
@@ -259,39 +259,39 @@
             putValue(SHORT_DESCRIPTION, tr("Delete from turn restriction"));
             putValue(NAME, tr("Delete"));
-            putValue(SMALL_ICON, ImageProvider.get("deletesmall"));
+            new ImageProvider("deletesmall").getResource().attachImageIcon(this);
             putValue(ACCELERATOR_KEY,KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));
             updateEnabledState();
         }
-        
+
         public void actionPerformed(ActionEvent e) {
-            model.setTurnRestrictionLeg(role, null);            
-        }       
-        
+            model.setTurnRestrictionLeg(role, null);
+        }
+
         public void updateEnabledState() {
             setEnabled(legs.size()>0);
         }
     }
-    
+
     /**
      * Accepts the currently selected way as turn restriction leg. Only enabled,
-     * if there is exactly one way selected 
+     * if there is exactly one way selected
      */
     class AcceptAction extends AbstractAction implements ListSelectionListener {
-        
+
         public AcceptAction() {
              putValue(SHORT_DESCRIPTION, tr("Accept the currently selected way"));
              putValue(NAME, tr("Accept"));
-             putValue(SMALL_ICON, ImageProvider.get("accept"));
+             new ImageProvider("accept").getResource().attachImageIcon(this);
              model.getJosmSelectionListModel().getListSelectionModel().addListSelectionListener(this);
              updateEnabledState();
         }
-        
+
          public void actionPerformed(ActionEvent e) {
              List<Way> selWays = OsmPrimitive.getFilteredList(model.getJosmSelectionListModel().getSelected(), Way.class);
              if (selWays.size() != 1) return;
              Way w = selWays.get(0);
-             model.setTurnRestrictionLeg(role, w);            
-         }       
-         
+             model.setTurnRestrictionLeg(role, w);
+         }
+
          public void updateEnabledState() {
             setEnabled(OsmPrimitive.getFilteredList(model.getJosmSelectionListModel().getSelected(), Way.class).size() == 1);
@@ -303,11 +303,11 @@
         }
     }
-    
-    /**
-     * The transfer handler for Drag-and-Drop. 
+
+    /**
+     * The transfer handler for Drag-and-Drop.
      */
     class LegEditorTransferHandler extends PrimitiveIdListTransferHandler {
         Logger logger = Logger.getLogger(LegEditorTransferHandler.class.getName());
-        
+
         public LegEditorTransferHandler(PrimitiveIdListProvider provider){
             super(provider);
@@ -341,12 +341,12 @@
         }
     }
-    
+
     class PopupLauncher extends PopupMenuLauncher {
         @Override
         public void launch(MouseEvent evt) {
             new PopupMenu().show(lblOsmObject, evt.getX(), evt.getY());
-        }       
-    }
-    
+        }
+    }
+
     class PopupMenu extends JPopupMenu {
         public PopupMenu() {
@@ -355,5 +355,5 @@
             item.setTransferHandler(transferHandler);
             actPaste.updateEnabledState();
-            item = add(actPaste);           
+            item = add(actPaste);
             item.setTransferHandler(transferHandler);
             addSeparator();
@@ -361,12 +361,12 @@
         }
     }
-    
+
     class CopyAction extends AbstractAction {
         private Action delegate;
-        
+
         public CopyAction(){
             putValue(NAME, tr("Copy"));
             putValue(SHORT_DESCRIPTION, tr("Copy to the clipboard"));
-            putValue(SMALL_ICON, ImageProvider.get("copy"));
+            new ImageProvider("copy").getResource().attachImageIcon(this);
             putValue(ACCELERATOR_KEY, Shortcut.getCopyKeyStroke());
             delegate = TurnRestrictionLegEditor.this.getActionMap().get("copy");
@@ -377,30 +377,30 @@
             delegate.actionPerformed(e);
         }
-        
+
         public void updateEnabledState() {
             setEnabled(legs.size() == 1);
         }
     }
-    
+
     class PasteAction extends AbstractAction {
         private Action delegate;
-        
+
         public boolean canPaste() {
             Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
             for (DataFlavor df: clipboard.getAvailableDataFlavors()) {
                 if (df.equals(PrimitiveIdTransferable.PRIMITIVE_ID_LIST_FLAVOR)) return true;
-            }           
-            // FIXME: check whether there are selected objects in the JOSM copy/paste buffer  
+            }
+            // FIXME: check whether there are selected objects in the JOSM copy/paste buffer
             return false;
         }
-        
+
         public PasteAction(){
             putValue(NAME, tr("Paste"));
             putValue(SHORT_DESCRIPTION, tr("Paste from the clipboard"));
-            putValue(SMALL_ICON, ImageProvider.get("paste"));
+            new ImageProvider("paste").getResource().attachImageIcon(this);
             putValue(ACCELERATOR_KEY, Shortcut.getPasteKeyStroke());
             delegate = TurnRestrictionLegEditor.this.getActionMap().get("paste");
         }
-        
+
         public void updateEnabledState() {
             setEnabled(canPaste());
@@ -408,8 +408,8 @@
 
         public void actionPerformed(ActionEvent e) {
-            delegate.actionPerformed(e);            
-        }
-    }
-    
-     
+            delegate.actionPerformed(e);
+        }
+    }
+
+
 }
Index: /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/TurnRestrictionSelectionPopupPanel.java
===================================================================
--- /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/TurnRestrictionSelectionPopupPanel.java	(revision 32385)
+++ /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/TurnRestrictionSelectionPopupPanel.java	(revision 32386)
@@ -56,13 +56,13 @@
     private JButton btnNew;
     /** the table with the turn restrictions which can be edited */
-    private JTable tblTurnRestrictions; 
+    private JTable tblTurnRestrictions;
     private OsmDataLayer layer;
-    
+
     /**
      * Replies the collection of turn restrictions the primitives in {@code primitives}
      * currently participate in.
-     * 
+     *
      * @param primitives the collection of primitives. May be null.
-     * @return the collection of "parent" turn restrictions. 
+     * @return the collection of "parent" turn restrictions.
      */
     static public Collection<Relation> getTurnRestrictionsParticipatingIn(Collection<OsmPrimitive> primitives){
@@ -82,10 +82,10 @@
         return ret;
     }
-    
+
     /**
      * Registers 1..9 shortcuts for the first 9 turn restrictions to
      * edit
-     * 
-     * @param editCandiates the edit candidates 
+     *
+     * @param editCandiates the edit candidates
      */
     protected void registerEditShortcuts(Collection<Relation> editCandiates){
@@ -107,8 +107,8 @@
     }
     /**
-     * Builds the panel with the turn restrictions table 
-     * 
-     * @param editCandiates the list of edit candiates  
-     * @return the panel 
+     * Builds the panel with the turn restrictions table
+     *
+     * @param editCandiates the list of edit candiates
+     * @return the panel
      */
     protected JPanel buildTurnRestrictionTablePanel(Collection<Relation> editCandiates) {
@@ -118,6 +118,6 @@
         TurnRestrictionCellRenderer renderer = new TurnRestrictionCellRenderer();
         tblTurnRestrictions.setRowHeight((int)renderer.getPreferredSize().getHeight());
-        
-        // create a scroll pane, remove the table header 
+
+        // create a scroll pane, remove the table header
         JScrollPane pane = new JScrollPane(tblTurnRestrictions);
         pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
@@ -125,23 +125,23 @@
         tblTurnRestrictions.setTableHeader(null);
         pane.setColumnHeaderView(null);
-        
-        // respond to double click and ENTER 
+
+        // respond to double click and ENTER
         EditSelectedTurnRestrictionAction action = new EditSelectedTurnRestrictionAction();
         tblTurnRestrictions.addMouseListener(action);
         tblTurnRestrictions.registerKeyboardAction(action, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,0), WHEN_FOCUSED);
-        
+
         tblTurnRestrictions.addFocusListener(new FocusHandler());
-        
+
         JPanel pnl = new JPanel(new BorderLayout());
         pnl.add(pane, BorderLayout.CENTER);
-        
+
         pnl.setBackground(UIManager.getColor("Table.background"));
         pane.setBackground(UIManager.getColor("Table.background"));
-        return pnl;     
-    }
-    
-    /**
-     * Builds the panel 
-     * 
+        return pnl;
+    }
+
+    /**
+     * Builds the panel
+     *
      * @param editCandiates the edit candidates
      */
@@ -153,19 +153,19 @@
         registerKeyboardAction(new CloseAction(), KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE,0), WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
         registerKeyboardAction(btnNew.getAction(), KeyStroke.getKeyStroke(KeyEvent.VK_N,0), WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
-        
+
         btnNew.addFocusListener(new FocusHandler());
-        
+
         if (editCandiates != null && ! editCandiates.isEmpty()) {
-            add(buildTurnRestrictionTablePanel(editCandiates), BorderLayout.CENTER);    
+            add(buildTurnRestrictionTablePanel(editCandiates), BorderLayout.CENTER);
             registerEditShortcuts(editCandiates);
         }
-        
-        setBackground(UIManager.getColor("Table.background"));      
-    }
-
-    
+
+        setBackground(UIManager.getColor("Table.background"));
+    }
+
+
     /**
      * Creates the panel
-     * 
+     *
      * @param layer the reference OSM data layer. Must not be null.
      * @throws IllegalArgumentException thrown if {@code layer} is null
@@ -176,10 +176,10 @@
         build(getTurnRestrictionsParticipatingIn(layer.data.getSelected()));
     }
-    
+
     /**
      * Creates the panel
-     * 
+     *
      * @param layer the reference OSM data layer. Must not be null.
-     * @param editCandidates a collection of turn restrictions as edit candidates. May be null. 
+     * @param editCandidates a collection of turn restrictions as edit candidates. May be null.
      * @throws IllegalArgumentException thrown if {@code layer} is null
      */
@@ -189,7 +189,7 @@
         build(editCandiates);
     }
-    
-    /**
-     * Launches a popup with this panel as content 
+
+    /**
+     * Launches a popup with this panel as content
      */
     public void launch(){
@@ -208,14 +208,14 @@
         return new Dimension(300, bestheight);
     }
-    
+
     /* --------------------------------------------------------------------------------------- */
     /* inner classes                                                                           */
     /* --------------------------------------------------------------------------------------- */
-    
+
     private class NewAction extends AbstractAction {
         public NewAction() {
             putValue(NAME, tr("Create new turn restriction"));
             putValue(SHORT_DESCRIPTION, tr("Launch the turn restriction editor to create a new turn restriction"));
-            putValue(SMALL_ICON, ImageProvider.get("new"));
+            new ImageProvider("new").getResource().attachImageIcon(this);
             putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_N, 0));
         }
@@ -232,5 +232,5 @@
         }
     }
-    
+
     abstract private  class AbstractEditTurnRestrictionAction extends AbstractAction {
         protected void launchEditor(Relation tr){
@@ -251,18 +251,18 @@
         }
     }
-    
+
     private class EditTurnRestrictionAction extends AbstractEditTurnRestrictionAction {
         private int idx;
-        
+
         public EditTurnRestrictionAction(int idx){
             this.idx = idx;
         }
-        
+
         public void actionPerformed(ActionEvent e) {
             Relation tr = (Relation)tblTurnRestrictions.getModel().getValueAt(idx, 1);
             launchEditor(tr);
-        }       
-    }
-    
+        }
+    }
+
     private class EditSelectedTurnRestrictionAction extends AbstractEditTurnRestrictionAction implements MouseListener{
         public void editTurnRestrictionAtRow(int row){
@@ -279,5 +279,5 @@
             int row = tblTurnRestrictions.rowAtPoint(e.getPoint());
             if (row < 0) return;
-            editTurnRestrictionAtRow(row);          
+            editTurnRestrictionAtRow(row);
         }
         public void mouseEntered(MouseEvent e) {}
@@ -286,5 +286,5 @@
         public void mouseReleased(MouseEvent e) {}
     }
-    
+
     private class CloseAction extends AbstractAction {
         public void actionPerformed(ActionEvent e) {
@@ -292,7 +292,7 @@
                 parentPopup.hide();
             }
-        }       
-    }
-    
+        }
+    }
+
     private static class TurnRestrictionTableModel extends AbstractTableModel {
         private final ArrayList<Relation> turnrestrictions = new ArrayList<>();
@@ -305,5 +305,5 @@
             fireTableDataChanged();
         }
-        
+
         public int getRowCount() {
             return turnrestrictions.size();
@@ -329,27 +329,27 @@
         }
     }
-    
-    private static class TurnRestrictionTableColumnModel extends DefaultTableColumnModel {      
-        public TurnRestrictionTableColumnModel() {          
+
+    private static class TurnRestrictionTableColumnModel extends DefaultTableColumnModel {
+        public TurnRestrictionTableColumnModel() {
             // the idx column
-            TableColumn col = new TableColumn(0);           
+            TableColumn col = new TableColumn(0);
             col.setResizable(false);
             col.setWidth(50);
             addColumn(col);
-            
-            // the column displaying turn restrictions 
-            col = new TableColumn(1);           
+
+            // the column displaying turn restrictions
+            col = new TableColumn(1);
             col.setResizable(false);
             col.setPreferredWidth(400);
             col.setCellRenderer(new TurnRestrictionCellRenderer());
-            addColumn(col);         
-        }
-    }
-    
-    private class FocusHandler extends FocusAdapter {       
+            addColumn(col);
+        }
+    }
+
+    private class FocusHandler extends FocusAdapter {
         @Override
         public void focusLost(FocusEvent e) {
             // if we loose the focus to a component outside of the popup panel
-            // we hide the popup            
+            // we hide the popup
             if (e.getOppositeComponent() == null ||!SwingUtilities.isDescendingFrom(e.getOppositeComponent(), TurnRestrictionSelectionPopupPanel.this)) {
                 if (parentPopup != null){
Index: /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/ViaList.java
===================================================================
--- /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/ViaList.java	(revision 32385)
+++ /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/editor/ViaList.java	(revision 32386)
@@ -41,11 +41,11 @@
 /**
  * <p>ViaList is a JList which displays the 'via' members of a turn restriction.</p>
- * 
+ *
  * <p>A ViaList is connected to a {@link TurnRestrictionEditorModel} through its
- * {@link ViaListModel}.</p> 
- * 
+ * {@link ViaListModel}.</p>
+ *
  */
 public class ViaList extends JList<OsmPrimitive> {
-    
+
     //static private final Logger logger = Logger.getLogger(ViaList.class.getName());
 
@@ -57,11 +57,11 @@
     private PasteAction actPaste;
     private TransferHandler transferHandler;
-    
+
     /**
-     * Constructor 
-     * 
+     * Constructor
+     *
      * @param model the via list model. Must not be null.
      * @param selectionModel the selection model. Must not be null.
-     * 
+     *
      */
     public ViaList(ViaListModel model, DefaultListSelectionModel selectionModel) {
@@ -71,12 +71,12 @@
         setSelectionModel(selectionModel);
         setCellRenderer(new OsmPrimitivRenderer());
-        setDragEnabled(true);       
+        setDragEnabled(true);
         setTransferHandler(transferHandler =new ViaListTransferHandler(model));
         setVisibleRowCount(4);
-        
+
         actDelete = new DeleteAction();
         selectionModel.addListSelectionListener(actDelete);
         registerKeyboardAction(actDelete, KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
-        
+
         actMoveDown = new MoveDownAction();
         selectionModel.addListSelectionListener(actMoveDown);
@@ -86,21 +86,21 @@
         selectionModel.addListSelectionListener(actMoveUp);
         registerKeyboardAction(actMoveUp, KeyStroke.getKeyStroke(KeyEvent.VK_UP, KeyEvent.ALT_DOWN_MASK), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
-        
+
         actCopy = new CopyAction();
         actPaste = new PasteAction();
         getSelectionModel().addListSelectionListener(actCopy);
-        
-        addMouseListener(new ViaListPopupMenuLaucher());            
-    }
-   
+
+        addMouseListener(new ViaListPopupMenuLaucher());
+    }
+
     /**
-     * The transfer handler for Drag-and-Drop. 
+     * The transfer handler for Drag-and-Drop.
      */
     class ViaListTransferHandler extends PrimitiveIdListTransferHandler {
         Logger logger = Logger.getLogger(ViaListTransferHandler.class.getName());
-        
+
         private boolean isViaListInDragOperation = false;
         private List<Integer> selectedRowsMemento = null;
-        
+
         public ViaListTransferHandler(PrimitiveIdListProvider provider) {
             super(provider);
@@ -111,10 +111,10 @@
             // a drag operation on itself is always allowed
             if (isViaListInDragOperation) return true;
-            return isSupportedFlavor(transferFlavors);          
+            return isSupportedFlavor(transferFlavors);
         }
 
         @SuppressWarnings("unchecked")
         @Override
-        public boolean importData(JComponent comp, Transferable t) {    
+        public boolean importData(JComponent comp, Transferable t) {
             if (!isSupportedFlavor(t.getTransferDataFlavors())) return false;
             if (isViaListInDragOperation) {
@@ -122,5 +122,5 @@
                 int targetRow = getSelectedIndex();
                 if (targetRow <0) return true;
-                model.moveVias(selectedRowsMemento, targetRow);             
+                model.moveVias(selectedRowsMemento, targetRow);
             } else {
                 // this is a drag operation from another component
@@ -148,20 +148,20 @@
             selectedRowsMemento = model.getSelectedRows();
             super.exportAsDrag(comp, e, action);
-        }       
-    }   
-    
+        }
+    }
+
     class DeleteAction extends AbstractAction implements ListSelectionListener {
         public DeleteAction() {
             putValue(NAME, tr("Remove"));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "delete"));
-            putValue(SHORT_DESCRIPTION,tr("Remove the currently selected vias"));       
-            putValue(ACCELERATOR_KEY,KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));         
-            updateEnabledState();
-        }
-        
+            new ImageProvider("dialogs", "delete").getResource().attachImageIcon(this);
+            putValue(SHORT_DESCRIPTION,tr("Remove the currently selected vias"));
+            putValue(ACCELERATOR_KEY,KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0));
+            updateEnabledState();
+        }
+
         public void valueChanged(ListSelectionEvent e) {
-            updateEnabledState();           
-        }
-        
+            updateEnabledState();
+        }
+
         public void updateEnabledState() {
             setEnabled(getSelectedIndex() >= 0);
@@ -169,17 +169,17 @@
 
         public void actionPerformed(ActionEvent e) {
-            model.removeSelectedVias();         
-        }
-    }
-    
-    class MoveDownAction extends AbstractAction implements ListSelectionListener{       
+            model.removeSelectedVias();
+        }
+    }
+
+    class MoveDownAction extends AbstractAction implements ListSelectionListener{
         public MoveDownAction(){
             putValue(NAME, tr("Move down"));
             putValue(SHORT_DESCRIPTION, tr("Move the selected vias down by one position"));
             putValue(ACCELERATOR_KEY,KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, KeyEvent.ALT_DOWN_MASK));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "movedown"));
-            updateEnabledState();
-        }
-        
+            new ImageProvider("dialogs", "movedown").getResource().attachImageIcon(this);
+            updateEnabledState();
+        }
+
         public void actionPerformed(ActionEvent e) {
             model.moveDown();
@@ -193,19 +193,19 @@
             setEnabled(getSelectionModel().getMaxSelectionIndex() < getModel().getSize() -1);
         }
-        
+
         public void valueChanged(ListSelectionEvent e) {
-            updateEnabledState();           
-        }
-    }
-    
-    class MoveUpAction extends AbstractAction implements ListSelectionListener{     
+            updateEnabledState();
+        }
+    }
+
+    class MoveUpAction extends AbstractAction implements ListSelectionListener{
         public MoveUpAction() {
             putValue(NAME, tr("Move up"));
             putValue(SHORT_DESCRIPTION, tr("Move the selected vias up by one position"));
             putValue(ACCELERATOR_KEY,KeyStroke.getKeyStroke(KeyEvent.VK_UP, KeyEvent.ALT_DOWN_MASK));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "moveup"));
-            updateEnabledState();
-        }
-        
+            new ImageProvider("dialogs", "moveup").getResource().attachImageIcon(this);
+            updateEnabledState();
+        }
+
         public void actionPerformed(ActionEvent e) {
             model.moveUp();
@@ -219,7 +219,7 @@
             setEnabled(getSelectionModel().getMinSelectionIndex() > 0);
         }
-        
+
         public void valueChanged(ListSelectionEvent e) {
-            updateEnabledState();           
+            updateEnabledState();
         }
     }
@@ -227,14 +227,14 @@
     class CopyAction extends AbstractAction implements ListSelectionListener {
         private Action delegate;
-        
+
         public CopyAction(){
             putValue(NAME, tr("Copy"));
             putValue(SHORT_DESCRIPTION, tr("Copy the selected vias to the clipboard"));
-            putValue(SMALL_ICON, ImageProvider.get("copy"));
+            new ImageProvider("copy").getResource().attachImageIcon(this);
             putValue(ACCELERATOR_KEY, Shortcut.getCopyKeyStroke());
             delegate = ViaList.this.getActionMap().get("copy");
         }
 
-        public void actionPerformed(ActionEvent e) {            
+        public void actionPerformed(ActionEvent e) {
             delegate.actionPerformed(e);
         }
@@ -243,26 +243,26 @@
             setEnabled(!model.getSelectedVias().isEmpty());
         }
-        
+
         public void valueChanged(ListSelectionEvent e) {
             updateEnabledState();
         }
     }
-    
+
     class PasteAction extends AbstractAction {
         private Action delegate;
-        
+
         public boolean canPaste() {
             Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
             for (DataFlavor df: clipboard.getAvailableDataFlavors()) {
                 if (df.equals(PrimitiveIdTransferable.PRIMITIVE_ID_LIST_FLAVOR)) return true;
-            }           
-            // FIXME: check whether there are selected objects in the JOSM copy/paste buffer  
+            }
+            // FIXME: check whether there are selected objects in the JOSM copy/paste buffer
             return false;
         }
-        
+
         public PasteAction(){
             putValue(NAME, tr("Paste"));
             putValue(SHORT_DESCRIPTION, tr("Insert ''via'' objects from the clipboard"));
-            putValue(SMALL_ICON, ImageProvider.get("paste"));
+            new ImageProvider("paste").getResource().attachImageIcon(this);
             putValue(ACCELERATOR_KEY, Shortcut.getPasteKeyStroke());
             delegate = ViaList.this.getActionMap().get("paste");
@@ -273,14 +273,14 @@
             setEnabled(canPaste());
         }
-        
-        public void actionPerformed(ActionEvent e) {
-            delegate.actionPerformed(e);            
-        }
-    }
-    
+
+        public void actionPerformed(ActionEvent e) {
+            delegate.actionPerformed(e);
+        }
+    }
+
     class ViaListPopupMenu extends JPopupMenu {
         public ViaListPopupMenu() {
             JMenuItem item = add(actCopy);
-            item.setTransferHandler(transferHandler);           
+            item.setTransferHandler(transferHandler);
             item = add(actPaste);
             actPaste.updateEnabledState();
@@ -293,5 +293,5 @@
         }
     }
-    
+
     class ViaListPopupMenuLaucher extends PopupMenuLauncher {
         @Override
@@ -304,5 +304,5 @@
             }
             new ViaListPopupMenu().show(ViaList.this, evt.getX(), evt.getY());
-        }       
-    }   
+        }
+    }
 }
Index: /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/list/TurnRestrictionsListDialog.java
===================================================================
--- /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/list/TurnRestrictionsListDialog.java	(revision 32385)
+++ /applications/editors/josm/plugins/turnrestrictions/src/org/openstreetmap/josm/plugins/turnrestrictions/list/TurnRestrictionsListDialog.java	(revision 32386)
@@ -200,5 +200,5 @@
         public EditAction() {
             putValue(SHORT_DESCRIPTION,tr("Open an editor for the selected turn restriction"));
-            new ImageProvider("dialogs", "edit").getResource().attachImageIcon(this);
+            new ImageProvider("dialogs", "edit").getResource().attachImageIcon(this, true);
             putValue(NAME, tr("Edit"));
             setEnabled(false);
@@ -261,5 +261,5 @@
         public DeleteAction() {
             putValue(SHORT_DESCRIPTION,tr("Delete the selected turn restriction"));
-            new ImageProvider("dialogs", "delete").getResource().attachImageIcon(this);
+            new ImageProvider("dialogs", "delete").getResource().attachImageIcon(this, true);
             putValue(NAME, tr("Delete"));
             setEnabled(false);
@@ -301,5 +301,5 @@
         public NewAction() {
             putValue(SHORT_DESCRIPTION,tr("Create a new turn restriction"));
-            new ImageProvider("new").getResource().attachImageIcon(this);
+            new ImageProvider("new").getResource().attachImageIcon(this, true);
             putValue(NAME, tr("New"));
             updateEnabledState();
@@ -341,5 +341,5 @@
         public SelectSelectedTurnRestrictions() {
             putValue(SHORT_DESCRIPTION,tr("Set the current JOSM selection to the selected turn restrictions"));
-            putValue(SMALL_ICON, ImageProvider.get("selectall"));
+            new ImageProvider("selectall").getResource().attachImageIcon(this);
             putValue(NAME, tr("Select in current data layer"));
             setEnabled(false);
@@ -376,5 +376,5 @@
         public ZoomToAction() {
             putValue(SHORT_DESCRIPTION,tr("Zoom to the currently selected turn restrictions"));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs/autoscale/selection"));
+            new ImageProvider("dialogs/autoscale/selection").getResource().attachImageIcon(this);
             putValue(NAME, tr("Zoom to"));
             setEnabled(false);
