Index: /trunk/data/defaultpresets.xml
===================================================================
--- /trunk/data/defaultpresets.xml	(revision 15071)
+++ /trunk/data/defaultpresets.xml	(revision 15072)
@@ -1031,7 +1031,5 @@
                 <text key="step_count" text="Amount of Steps" />
                 <space />
-                <checkgroup columns="1" > <!-- workaround -->
-                    <check key="ramp" text="Ramp" />
-                </checkgroup>
+                <check key="ramp" text="Ramp" />
                 <checkgroup columns="2" >
                     <check key="ramp:stroller" text="Stroller ramp" />
@@ -1041,7 +1039,5 @@
                 <combo key="ramp:luggage" text="Luggage ramp" values="yes,automatic,manual,no" />
                 <space />
-                <checkgroup columns="1" > <!-- workaround -->
-                    <check key="handrail" text="Handrail" />
-                </checkgroup>
+                <check key="handrail" text="Handrail" />
                 <checkgroup columns="3" >
                     <check key="handrail:left" text="Left handrail" />
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetReader.java	(revision 15071)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetReader.java	(revision 15072)
@@ -131,5 +131,5 @@
         parser.mapOnStart("roles", Roles.class);
         parser.map("role", Role.class);
-        parser.map("checkgroup", CheckGroup.class);
+        parser.mapBoth("checkgroup", CheckGroup.class);
         parser.map("check", Check.class);
         parser.map("combo", Combo.class);
@@ -167,4 +167,6 @@
         XmlObjectParser parser = buildParser();
 
+        /** to detect end of {@code <checkgroup>} */
+        CheckGroup lastcheckgroup = null;
         /** to detect end of {@code <group>} */
         TaggingPresetMenu lastmenu = null;
@@ -281,14 +283,24 @@
                         lastrole.roles.add((Role) o);
                     } else if (o instanceof Check) {
-                        checks.add((Check) o);
+                        if (lastcheckgroup != null) {
+                            checks.add((Check) o);
+                        } else {
+                            all.getLast().data.add((TaggingPresetItem) o);
+                        }
                     } else if (o instanceof ComboMultiSelect.PresetListEntry) {
                         listEntries.add((ComboMultiSelect.PresetListEntry) o);
                     } else if (o instanceof CheckGroup) {
-                        all.getLast().data.add((TaggingPresetItem) o);
-                        // Make sure list of checks is empty to avoid adding checks several times
-                        // when used in chunks (fix #10801)
-                        ((CheckGroup) o).checks.clear();
-                        ((CheckGroup) o).checks.addAll(checks);
-                        checks.clear();
+                        CheckGroup cg = (CheckGroup) o;
+                        if (cg == lastcheckgroup) {
+                            lastcheckgroup = null;
+                            all.getLast().data.add(cg);
+                            // Make sure list of checks is empty to avoid adding checks several times
+                            // when used in chunks (fix #10801)
+                            cg.checks.clear();
+                            cg.checks.addAll(checks);
+                            checks.clear();
+                        } else {
+                            lastcheckgroup = cg;
+                        }
                     } else {
                         if (!checks.isEmpty()) {
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java	(revision 15071)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Check.java	(revision 15072)
@@ -113,5 +113,5 @@
     @Override
     public String toString() {
-        return "Check ["
+        return "Check [key=" + key + ", text=" + text + ", "
                 + (locale_text != null ? "locale_text=" + locale_text + ", " : "")
                 + (value_on != null ? "value_on=" + value_on + ", " : "")
