Index: trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java	(revision 17671)
+++ trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java	(revision 17672)
@@ -178,10 +178,5 @@
             TaggingPreset preset = TaggingPresetNameTemplateList.getInstance().findPresetTemplate(node);
             if (preset == null || !(node instanceof TemplateEngineDataProvider)) {
-                String n;
-                if (Config.getPref().getBoolean("osm-primitives.localize-name", true)) {
-                    n = node.getLocalName();
-                } else {
-                    n = node.getName();
-                }
+                String n = formatLocalName(node);
                 if (n == null) {
                     n = formatAddress(node);
@@ -239,9 +234,5 @@
             if (preset == null || !(way instanceof TemplateEngineDataProvider)) {
                 String n;
-                if (Config.getPref().getBoolean("osm-primitives.localize-name", true)) {
-                    n = way.getLocalName();
-                } else {
-                    n = way.getName();
-                }
+                n = formatLocalName(way);
                 if (n == null) {
                     n = way.get("ref");
@@ -283,4 +274,20 @@
                 .findFirst().orElse(result);
 
+    }
+
+    private static String formatLocalName(IPrimitive osm) {
+        if (Config.getPref().getBoolean("osm-primitives.localize-name", true)) {
+            return osm.getLocalName();
+        } else {
+            return osm.getName();
+        }
+    }
+
+    private static String formatLocalName(HistoryOsmPrimitive osm) {
+        if (Config.getPref().getBoolean("osm-primitives.localize-name", true)) {
+            return osm.getLocalName();
+        } else {
+            return osm.getName();
+        }
     }
 
@@ -440,8 +447,5 @@
     private static String getNameTagValue(IRelation<?> relation, String nameTag) {
         if ("name".equals(nameTag)) {
-            if (Config.getPref().getBoolean("osm-primitives.localize-name", true))
-                return relation.getLocalName();
-            else
-                return relation.getName();
+            return formatLocalName(relation);
         } else if (":LocationCode".equals(nameTag)) {
             return relation.keys()
@@ -534,10 +538,5 @@
     public String format(HistoryNode node) {
         StringBuilder sb = new StringBuilder();
-        String name;
-        if (Config.getPref().getBoolean("osm-primitives.localize-name", true)) {
-            name = node.getLocalName();
-        } else {
-            name = node.getName();
-        }
+        String name = formatLocalName(node);
         if (name == null) {
             sb.append(node.getId());
@@ -560,10 +559,5 @@
     public String format(HistoryWay way) {
         StringBuilder sb = new StringBuilder();
-        String name;
-        if (Config.getPref().getBoolean("osm-primitives.localize-name", true)) {
-            name = way.getLocalName();
-        } else {
-            name = way.getName();
-        }
+        String name = formatLocalName(way);
         if (name != null) {
             sb.append(name);
@@ -608,9 +602,5 @@
             // #3328: "note " and " note" are name tags too
             if (namingTags.contains(n.trim())) {
-                if (Config.getPref().getBoolean("osm-primitives.localize-name", true)) {
-                    nameTag = relation.getLocalName();
-                } else {
-                    nameTag = relation.getName();
-                }
+                nameTag = formatLocalName(relation);
                 if (nameTag == null) {
                     nameTag = relation.get(n);
