Index: trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java	(revision 17670)
+++ trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java	(revision 17671)
@@ -185,20 +185,5 @@
                 }
                 if (n == null) {
-                    String s = node.get("addr:housename");
-                    if (s != null) {
-                        /* I18n: name of house as parameter */
-                        n = tr("House {0}", s);
-                    }
-                    if (n == null && (s = node.get("addr:housenumber")) != null) {
-                        String t = node.get("addr:street");
-                        if (t != null) {
-                            /* I18n: house number, street as parameter, number should remain
-                        before street for better visibility */
-                            n = tr("House number {0} at {1}", s, t);
-                        } else {
-                            /* I18n: house number as parameter */
-                            n = tr("House number {0}", s);
-                        }
-                    }
+                    n = formatAddress(node);
                 }
 
@@ -269,20 +254,5 @@
                 }
                 if (n == null) {
-                    String s = way.get("addr:housename");
-                    if (s != null) {
-                        /* I18n: name of house as parameter */
-                        n = tr("House {0}", s);
-                    }
-                    if (n == null && (s = way.get("addr:housenumber")) != null) {
-                        String t = way.get("addr:street");
-                        if (t != null) {
-                            /* I18n: house number, street as parameter, number should remain
-                        before street for better visibility */
-                            n = tr("House number {0} at {1}", s, t);
-                        } else {
-                            /* I18n: house number as parameter */
-                            n = tr("House number {0}", s);
-                        }
-                    }
+                    n = formatAddress(way);
                 }
                 if (n == null && way.hasKey("building")) {
@@ -313,4 +283,25 @@
                 .findFirst().orElse(result);
 
+    }
+
+    private static String formatAddress(Tagged osm) {
+        String n = null;
+        String s = osm.get("addr:housename");
+        if (s != null) {
+            /* I18n: name of house as parameter */
+            n = tr("House {0}", s);
+        }
+        if (n == null && (s = osm.get("addr:housenumber")) != null) {
+            String t = osm.get("addr:street");
+            if (t != null) {
+                /* I18n: house number, street as parameter, number should remain
+            before street for better visibility */
+                n = tr("House number {0} at {1}", s, t);
+            } else {
+                /* I18n: house number as parameter */
+                n = tr("House number {0}", s);
+            }
+        }
+        return n;
     }
 
