Index: trunk/resources/data/defaultpresets.xml
===================================================================
--- trunk/resources/data/defaultpresets.xml	(revision 19171)
+++ trunk/resources/data/defaultpresets.xml	(revision 19172)
@@ -196,8 +196,8 @@
     </chunk>
     <chunk id="toilets">
-        <check key="toilets" />
-        <check key="toilets:unisex" />
-        <combo key="toilets:wheelchair" values="yes,no,limited" values_context="toilets" />
-        <combo key="toilets:access" values="customers,yes,no" />
+        <check key="toilets" text="Toilets" />
+        <check key="toilets:unisex" text="Gender neutral" />
+        <combo key="toilets:wheelchair" values="yes,no,limited" values_context="toilets" text="Wheelchair accessible" />
+        <combo key="toilets:access" values="customers,yes,no" text="Access" />
     </chunk>
     <chunk id="color">
@@ -8388,5 +8388,5 @@
             <reference ref="name_oh_wheelchair" />
             <optional>
-                <combo key="agrarian" values="yes,pesticide,fertilizer,seed,feed,tools,machine_parts,agricultural_machinery" values_context="Tag:shop=agrarian" />
+                <combo key="agrarian" values="yes,pesticide,fertilizer,seed,feed,tools,machine_parts,agricultural_machinery" values_context="Tag:shop=agrarian" text="Products" />
             </optional>
             <reference ref="link_contact_address_payment" />
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 19171)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java	(revision 19172)
@@ -417,4 +417,6 @@
                     } else if (i instanceof CheckGroup) {
                         for (Check c : ((CheckGroup) i).checks) {
+                            if (!"none".equals(c.match))
+                                minData.add(c);
                             addPresetValue(c);
                         }
@@ -422,5 +424,5 @@
                 }
                 if (!minData.isEmpty()) {
-                    presetIndex .put(p, minData);
+                    presetIndex.put(p, minData);
                 }
             }
@@ -855,5 +857,11 @@
     private static boolean primitiveInRegions(IPrimitive primitive, Collection<String> regions, boolean excludeRegions) {
         if (primitive instanceof INode) {
-            return latLonInRegions((INode) primitive, regions) == excludeRegions;
+            // 4 options:
+            // In Region    | excluding region  | expected
+            // true         | false             | true
+            // true         | true              | false
+            // false        | false             | false
+            // false        | true              | true
+            return latLonInRegions((INode) primitive, regions) != excludeRegions;
         } else if (primitive instanceof IWay) {
             return ((IWay<?>) primitive).getNodes().stream().anyMatch(n -> primitiveInRegions(n, regions, excludeRegions));
Index: trunk/test/unit/org/openstreetmap/josm/data/validation/tests/TagCheckerTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/validation/tests/TagCheckerTest.java	(revision 19171)
+++ trunk/test/unit/org/openstreetmap/josm/data/validation/tests/TagCheckerTest.java	(revision 19172)
@@ -233,8 +233,8 @@
     @Test
     void testRegionKey() throws IOException {
-        final List<TestError> errors = test(OsmUtils.createPrimitive("node highway=crossing crossing_ref=zebra"));
+        final List<TestError> errors = test(OsmUtils.createPrimitive("node payment:ep_avant=yes"));
         assertEquals(1, errors.size());
         assertEquals("Key from a preset is invalid in this region", errors.get(0).getMessage());
-        assertEquals("Preset Pedestrian Crossing should not have the key crossing_ref", errors.get(0).getDescription());
+        assertEquals("Preset Payment Methods should not have the key payment:ep_avant", errors.get(0).getDescription());
         assertEquals(Severity.WARNING, errors.get(0).getSeverity());
         assertFalse(errors.get(0).isFixable());
