Index: trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 18275)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 18276)
@@ -100,5 +100,7 @@
 import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
 import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetHandler;
+import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetListener;
 import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetType;
+import org.openstreetmap.josm.gui.tagging.presets.TaggingPresets;
 import org.openstreetmap.josm.gui.util.AbstractTag2LinkPopupListener;
 import org.openstreetmap.josm.gui.util.HighlightHelper;
@@ -111,4 +113,5 @@
 import org.openstreetmap.josm.spi.preferences.Config;
 import org.openstreetmap.josm.spi.preferences.PreferenceChangedListener;
+import org.openstreetmap.josm.spi.preferences.PreferenceChangeEvent;
 import org.openstreetmap.josm.tools.AlphanumComparator;
 import org.openstreetmap.josm.tools.GBC;
@@ -139,5 +142,5 @@
  */
 public class PropertiesDialog extends ToggleDialog
-implements DataSelectionListener, ActiveLayerChangeListener, DataSetListenerAdapter.Listener {
+implements DataSelectionListener, ActiveLayerChangeListener, DataSetListenerAdapter.Listener, PreferenceChangedListener, TaggingPresetListener {
 
     /**
@@ -239,11 +242,4 @@
             + tr("Select objects for which to change tags.") + "</p></html>");
 
-    private final PreferenceChangedListener preferenceListener = e -> {
-                if (MainApplication.getLayerManager().getActiveData() != null) {
-                    // Re-load data when display preference change
-                    updateSelection();
-                }
-            };
-
     private final transient TaggingPresetHandler presetHandler = new TaggingPresetCommandHandler();
 
@@ -308,5 +304,6 @@
         editHelper.loadTagsIfNeeded();
 
-        Config.getPref().addKeyPreferenceChangeListener("display.discardable-keys", preferenceListener);
+        Config.getPref().addKeyPreferenceChangeListener("display.discardable-keys", this);
+        TaggingPresets.addListener(this);
     }
 
@@ -621,5 +618,6 @@
         membershipTable.removeMouseListener(popupMenuLauncher);
         super.destroy();
-        Config.getPref().removeKeyPreferenceChangeListener("display.discardable-keys", preferenceListener);
+        Config.getPref().removeKeyPreferenceChangeListener("display.discardable-keys", this);
+        TaggingPresets.removeListener(this);
         Container parent = pluginHook.getParent();
         if (parent != null) {
@@ -767,4 +765,33 @@
 
     /* ---------------------------------------------------------------------------------- */
+    /* PreferenceChangedListener                                                          */
+    /* ---------------------------------------------------------------------------------- */
+
+    /**
+     * Re-load data when display preference change
+     */
+    @Override
+    public void preferenceChanged(PreferenceChangeEvent e) {
+        if (MainApplication.getLayerManager().getActiveData() != null) {
+            updateSelection();
+        }
+    }
+
+
+    /* ---------------------------------------------------------------------------------- */
+    /* TaggingPresetListener                                                              */
+    /* ---------------------------------------------------------------------------------- */
+
+    /**
+     * Updates the preset list when Presets preference changes.
+     */
+    @Override
+    public void taggingPresetsModified() {
+        if (MainApplication.getLayerManager().getActiveData() != null) {
+            updateSelection();
+        }
+    }
+
+    /* ---------------------------------------------------------------------------------- */
     /* ActiveLayerChangeListener                                                          */
     /* ---------------------------------------------------------------------------------- */
