Index: trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java	(revision 18076)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java	(revision 18077)
@@ -90,4 +90,5 @@
             p.add(check, GBC.eol()); // Do not fill, see #15104
         }
+        check.addChangeListener(l -> support.fireItemValueModified(this, key, getValue()));
         return true;
     }
@@ -99,8 +100,11 @@
 
         // otherwise change things according to the selected value.
-        changedTags.add(new Tag(key,
-                check.getState() == QuadStateCheckBox.State.SELECTED ? value_on :
-                    check.getState() == QuadStateCheckBox.State.NOT_SELECTED ? value_off :
-                        null));
+        changedTags.add(new Tag(key, getValue()));
+    }
+
+    protected String getValue() {
+        return check.getState() == QuadStateCheckBox.State.SELECTED ? value_on :
+            check.getState() == QuadStateCheckBox.State.NOT_SELECTED ? value_off :
+                null;
     }
 
