Index: trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSelector.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSelector.java	(revision 9303)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSelector.java	(revision 9304)
@@ -322,6 +322,8 @@
             @Override
             public void actionPerformed(ActionEvent ae) {
-                String res = getSelectedPreset().getToolbarString();
-                Main.toolbar.addCustomButton(res, -1, false);
+                final TaggingPreset preset = lsResult.getSelectedValue();
+                if (preset != null) {
+                    Main.toolbar.addCustomButton(preset.getToolbarString(), -1, false);
+                }
             }
         });
@@ -354,7 +356,7 @@
                 text, onlyApplicable, inTags, getTypesInSelection(), selected);
 
-        TaggingPreset oldPreset = getSelectedPreset();
+        final TaggingPreset oldPreset = lsResult.getSelectedValue();
         lsResultModel.setPresets(result);
-        TaggingPreset newPreset = getSelectedPreset();
+        final TaggingPreset newPreset = lsResult.getSelectedValue();
         if (!Objects.equals(oldPreset, newPreset)) {
             int[] indices = lsResult.getSelectedIndices();
@@ -522,5 +524,5 @@
 
     /**
-     * Determines, which preset is selected at the current moment
+     * Determines, which preset is selected at the moment. Updates {@link PresetClassification#favoriteIndex}!
      * @return selected preset (as action)
      */
