Index: trunk/src/org/openstreetmap/josm/data/osm/FilterModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/FilterModel.java	(revision 18852)
+++ trunk/src/org/openstreetmap/josm/data/osm/FilterModel.java	(revision 18866)
@@ -440,5 +440,5 @@
             }
 
-            for (OsmPrimitive ref: p.getReferrers()) {
+            for (OsmPrimitive ref: p.getReferrers(true)) {
                 stack.push(ref);
             }
Index: trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPreset.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPreset.java	(revision 18852)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPreset.java	(revision 18866)
@@ -85,5 +85,5 @@
  * read in all predefined presets, either shipped with JOSM or that are
  * in the config directory.
- *
+ * <p>
  * It is also able to construct dialogs out of preset definitions.
  * @since 294
@@ -405,10 +405,10 @@
             /**
              * This hack allows the items to have their own orientation.
-             *
+             * <p>
              * The problem is that
              * {@link org.openstreetmap.josm.gui.ExtendedDialog#showDialog ExtendedDialog} calls
              * {@code applyComponentOrientation} very late in the dialog construction process thus
              * overwriting the orientation the components have chosen for themselves.
-             *
+             * <p>
              * This stops the propagation of {@code applyComponentOrientation}, thus all
              * {@code TaggingPresetItem}s may (and have to) set their own orientation.
@@ -446,7 +446,4 @@
 
         if (selected.size() == 1 && Boolean.TRUE.equals(USE_VALIDATOR.get())) {
-            // Fail early -- validateAsync requires the primitive(s) to be part of a dataset. Failing later in validateAsync ''does not'' give us
-            // a usable stack trace. See #21829 for details.
-            selected.forEach(OsmPrimitive::checkDataset);
             itemGuiSupport.addListener((source, key, newValue) ->
                     TaggingPresetValidation.validateAsync(selected.iterator().next(), validationLabel, getChangedTags()));
