Index: trunk/src/org/openstreetmap/josm/gui/SideButton.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/SideButton.java	(revision 10481)
+++ trunk/src/org/openstreetmap/josm/gui/SideButton.java	(revision 10482)
@@ -42,5 +42,5 @@
             setIcon(icon.getImageIconBounded(
                 ImageProvider.ImageSizes.SIDEBUTTON.getImageDimension()));
-        } else { /* TODO: remove when calling code is fixed, replace by exception */
+        } else if(getIcon() != null) { /* TODO: remove when calling code is fixed, replace by exception */
             Main.warn("Old style SideButton usage for action " + action);
             fixIcon(action);
Index: trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java	(revision 10481)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java	(revision 10482)
@@ -896,5 +896,5 @@
         class LaunchFileChooserAction extends AbstractAction {
             LaunchFileChooserAction() {
-                putValue(SMALL_ICON, ImageProvider.get("open"));
+                new ImageProvider("open").getResource().attachImageIcon(this);
                 putValue(SHORT_DESCRIPTION, tr("Launch a file chooser to select a file"));
             }
@@ -947,5 +947,5 @@
             putValue(NAME, tr("New"));
             putValue(SHORT_DESCRIPTION, getStr(I18nString.NEW_SOURCE_ENTRY_TOOLTIP));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "add"));
+            new ImageProvider("dialogs", "add").getResource().attachImageIcon(this);
         }
 
@@ -977,5 +977,5 @@
             putValue(NAME, tr("Remove"));
             putValue(SHORT_DESCRIPTION, getStr(I18nString.REMOVE_SOURCE_TOOLTIP));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "delete"));
+            new ImageProvider("dialogs", "delete").getResource().attachImageIcon(this);
             updateEnabledState();
         }
@@ -1000,5 +1000,5 @@
             putValue(NAME, tr("Edit"));
             putValue(SHORT_DESCRIPTION, getStr(I18nString.EDIT_SOURCE_TOOLTIP));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "edit"));
+            new ImageProvider("dialogs", "edit").getResource().attachImageIcon(this);
             updateEnabledState();
         }
@@ -1074,5 +1074,5 @@
         ActivateSourcesAction() {
             putValue(SHORT_DESCRIPTION, getStr(I18nString.ACTIVATE_TOOLTIP));
-            putValue(SMALL_ICON, ImageProvider.get("preferences", "activate-right"));
+            new ImageProvider("preferences", "activate-right").getResource().attachImageIcon(this);
             updateEnabledState();
         }
@@ -1128,5 +1128,5 @@
             putValue(NAME, tr("Reset"));
             putValue(SHORT_DESCRIPTION, tr("Reset to default"));
-            putValue(SMALL_ICON, ImageProvider.get("preferences", "reset"));
+            new ImageProvider("preferences", "reset").getResource().attachImageIcon(this);
         }
 
@@ -1144,5 +1144,5 @@
             putValue(NAME, tr("Reload"));
             putValue(SHORT_DESCRIPTION, tr(getStr(I18nString.RELOAD_ALL_AVAILABLE), url));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "refresh"));
+            new ImageProvider("dialogs", "refresh").getResource().attachImageIcon(this);
             this.url = url;
             this.sourceProviders = sourceProviders;
@@ -1262,5 +1262,5 @@
             putValue(NAME, tr("New"));
             putValue(SHORT_DESCRIPTION, tr("Add a new icon path"));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "add"));
+            new ImageProvider("dialogs", "add").getResource().attachImageIcon(this);
         }
 
@@ -1276,5 +1276,5 @@
             putValue(NAME, tr("Remove"));
             putValue(SHORT_DESCRIPTION, tr("Remove the selected icon paths"));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "delete"));
+            new ImageProvider("dialogs", "delete").getResource().attachImageIcon(this);
             updateEnabledState();
         }
@@ -1299,5 +1299,5 @@
             putValue(NAME, tr("Edit"));
             putValue(SHORT_DESCRIPTION, tr("Edit the selected icon path"));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "edit"));
+            new ImageProvider("dialogs", "edit").getResource().attachImageIcon(this);
             updateEnabledState();
         }
Index: trunk/src/org/openstreetmap/josm/gui/preferences/plugin/PluginPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/plugin/PluginPreference.java	(revision 10481)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/plugin/PluginPreference.java	(revision 10482)
@@ -347,5 +347,5 @@
             putValue(NAME, tr("Download list"));
             putValue(SHORT_DESCRIPTION, tr("Download the list of available plugins"));
-            putValue(SMALL_ICON, ImageProvider.get("download"));
+            new ImageProvider("download").getResource().attachImageIcon(this);
         }
 
@@ -384,5 +384,5 @@
             putValue(NAME, tr("Update plugins"));
             putValue(SHORT_DESCRIPTION, tr("Update the selected plugins"));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "refresh"));
+            new ImageProvider("dialogs", "refresh").getResource().attachImageIcon(this);
         }
 
@@ -486,5 +486,5 @@
             putValue(NAME, tr("Configure sites..."));
             putValue(SHORT_DESCRIPTION, tr("Configure the list of sites where plugins are downloaded from"));
-            putValue(SMALL_ICON, ImageProvider.get("dialogs", "settings"));
+            new ImageProvider("dialogs", "settings").getResource().attachImageIcon(this);
         }
 
