Index: src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSelector.java
===================================================================
--- src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSelector.java	(revision 15582)
+++ src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSelector.java	(working copy)
@@ -52,7 +52,8 @@
  * GUI component to select tagging preset: the list with filter and two checkboxes
  * @since 6068
  */
-public class TaggingPresetSelector extends SearchTextResultListPanel<TaggingPreset> implements DataSelectionListener {
+public class TaggingPresetSelector extends SearchTextResultListPanel<TaggingPreset>
+        implements DataSelectionListener, TaggingPresetListener {
 
     private static final int CLASSIFICATION_IN_FAVORITES = 300;
     private static final int CLASSIFICATION_NAME_MATCH = 300;
@@ -193,6 +194,7 @@
         super();
         lsResult.setCellRenderer(new ResultListCellRenderer());
         classifications.loadPresets(TaggingPresets.getTaggingPresets());
+        TaggingPresets.addListener(this);
 
         JPanel pnChecks = new JPanel();
         pnChecks.setLayout(new BoxLayout(pnChecks, BoxLayout.Y_AXIS));
@@ -436,4 +438,10 @@
     public synchronized void setSelectedPreset(TaggingPreset p) {
         lsResult.setSelectedValue(p, true);
     }
+
+    @Override
+    public void taggingPresetsModified() {
+        classifications.clear();
+        classifications.loadPresets(TaggingPresets.getTaggingPresets());
+    }
 }
Index: src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java
===================================================================
--- src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java	(revision 15582)
+++ src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java	(working copy)
@@ -27,6 +27,7 @@
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
 import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItem;
+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.tagging.presets.items.KeyedItem;
@@ -38,7 +39,7 @@
  * Check for wrong relations.
  * @since 3669
  */
-public class RelationChecker extends Test {
+public class RelationChecker extends Test implements TaggingPresetListener {
 
     // CHECKSTYLE.OFF: SingleSpaceSeparator
     /** Role ''{0}'' is not in templates ''{1}'' */
@@ -79,6 +80,7 @@
 
     @Override
     public void initialize() {
+        TaggingPresets.addListener(this);
         initializePresets();
     }
 
@@ -375,4 +377,10 @@
         Collection<? extends OsmPrimitive> primitives = testError.getPrimitives();
         return testError.getCode() == RELATION_EMPTY && !primitives.isEmpty() && primitives.iterator().next().isNew();
     }
+
+    @Override
+    public void taggingPresetsModified() {
+        relationpresets.clear();
+        initializePresets();
+    }
 }
Index: src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
===================================================================
--- src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 15582)
+++ src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(working copy)
@@ -42,6 +42,7 @@
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
 import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItem;
+import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetListener;
 import org.openstreetmap.josm.gui.tagging.presets.TaggingPresets;
 import org.openstreetmap.josm.gui.tagging.presets.items.Check;
 import org.openstreetmap.josm.gui.tagging.presets.items.CheckGroup;
@@ -60,7 +61,7 @@
  * @author frsantos
  * @since 3669
  */
-public class TagChecker extends TagTest {
+public class TagChecker extends TagTest implements TaggingPresetListener {
 
     /** The config file of ignored tags */
     public static final String IGNORE_FILE = "resource://data/validator/ignoretags.cfg";
@@ -181,6 +182,7 @@
 
     @Override
     public void initialize() throws IOException {
+        TaggingPresets.addListener(this);
         initializeData();
         initializePresets();
         analysePresets();
@@ -1008,4 +1010,15 @@
 
         return false;
     }
+
+    @Override
+    public void taggingPresetsModified() {
+        try {
+            initializeData();
+            initializePresets();
+            analysePresets();
+        } catch (IOException e) {
+            Logging.error(e);
+        }
+    }
 }
