Index: trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetReader.java	(revision 13994)
+++ 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)
