Index: trunk/data/defaultpresets.xml
===================================================================
--- trunk/data/defaultpresets.xml	(revision 13997)
+++ trunk/data/defaultpresets.xml	(revision 13998)
@@ -438,4 +438,12 @@
   <chunk id="motorcycle_brands">
     <multiselect key="brand" text="Motorcycle brand" values="Aprillia;BMW;Ducati;Gilera;Harley-Davidson;Honda;Kawasaki;KTM;Kymco;Piaggio;Peugeot;Piaggio;Suzuki;Triumph;Vespa;Yamaha" values_no_i18n="true" />
+  </chunk>
+  <chunk id="walking_routes_roles">
+     <roles>
+         <role key="" text="route segment" requisite="required" type="way,closedway" member_expression="highway|route=ferry"/>
+         <role key="" text="infrastructure" requisite="optional" type="node,closedway" member_expression="tourism OR amenity"/>
+         <role key="" text="natural" requisite="optional" type="node,closedway" member_expression="natural=peak OR natural=volcano OR mountain_pass=yes OR natural=water OR tourism=viewpoint OR amenity=drinking_water OR natural=spring OR place=locality"/>
+         <role key="guidepost" text="guidepost" requisite="optional" type="node" member_expression="information=guidepost"/>
+     </roles>
   </chunk>
   <!-- Link chunks -->
@@ -11694,9 +11702,5 @@
                     <reference ref="route_hikebike_optionals" />
                 </optional>
-                <roles>
-                    <role key="" text="route segment" requisite="required" type="way,closedway" member_expression="highway|route=ferry"/>
-                    <role key="" text="infrastructure" requisite="optional" type="node,closedway" member_expression="tourism OR amenity"/>
-                    <role key="" text="natural" requisite="optional" type="node,closedway" member_expression="natural=peak OR natural=volcano OR mountain_pass=yes OR natural=water OR tourism=viewpoint OR amenity=drinking_water OR natural=spring OR place=locality"/>
-                </roles>
+                <reference ref="walking_routes_roles" />
             </item> <!-- Hiking Route -->
             <item name="Walking Route" icon="presets/misc/route.svg" type="relation" preset_name_label="true">
@@ -11712,9 +11716,5 @@
                     <reference ref="route_hikebike_optionals" />
                 </optional>
-                <roles>
-                    <role key="" text="route segment" requisite="required" type="way,closedway" member_expression="highway|route=ferry"/>
-                    <role key="" text="infrastructure" requisite="optional" type="node,closedway" member_expression="tourism OR amenity"/>
-                    <role key="" text="natural" requisite="optional" type="node,closedway" member_expression="natural=peak OR natural=volcano OR mountain_pass=yes OR natural=water OR tourism=viewpoint OR amenity=drinking_water OR natural=spring OR place=locality"/>
-                </roles>
+                <reference ref="walking_routes_roles" />
             </item> <!-- Walking Route -->
             <item name="Riding Route" icon="presets/misc/route.svg" type="relation" preset_name_label="true">
Index: trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetReader.java	(revision 13997)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetReader.java	(revision 13998)
@@ -272,4 +272,6 @@
                         all.getLast().roles = (Roles) o;
                         lastrole = (Roles) o;
+                        // #16458 - Make sure we don't duplicate role entries if used in a chunk/reference
+                        lastrole.roles.clear();
                     } else if (o instanceof Role) {
                         if (lastrole == null)
