Index: /trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java	(revision 16951)
+++ /trunk/src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java	(revision 16952)
@@ -672,3 +672,12 @@
         return formatAsHtmlUnorderedList(Collections.singletonList(primitive), 1);
     }
+
+    /**
+     * Removes the bidirectional text characters U+200C, U+200E, U+200F from the string
+     * @param string the string
+     * @return the string with the bidirectional text characters removed
+     */
+    public static String removeBiDiCharacters(String string) {
+        return string.replaceAll("[\\u200C\\u200E\\u200F]", "");
+    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/datatransfer/PrimitiveTransferable.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/datatransfer/PrimitiveTransferable.java	(revision 16951)
+++ /trunk/src/org/openstreetmap/josm/gui/datatransfer/PrimitiveTransferable.java	(revision 16952)
@@ -9,4 +9,5 @@
 import java.util.List;
 
+import org.openstreetmap.josm.data.osm.DefaultNameFormatter;
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.data.osm.PrimitiveData;
@@ -91,5 +92,5 @@
             sb.append(OsmPrimitiveType.from(primitive).getAPIName()).append(' ').append(primitive.getId());
         }
-        return sb.toString().replace("\u200C", "").replace("\u200E", "").replace("\u200F", "");
+        return DefaultNameFormatter.removeBiDiCharacters(sb.toString());
     }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/datatransfer/RelationMemberTransferable.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/datatransfer/RelationMemberTransferable.java	(revision 16951)
+++ /trunk/src/org/openstreetmap/josm/gui/datatransfer/RelationMemberTransferable.java	(revision 16952)
@@ -107,5 +107,5 @@
               .append('\n');
         }
-        return sb.toString().replace("\u200C", "").replace("\u200E", "").replace("\u200F", "");
+        return DefaultNameFormatter.removeBiDiCharacters(sb.toString());
     }
 
Index: /trunk/test/unit/org/openstreetmap/josm/data/osm/DefaultNameFormatterTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/data/osm/DefaultNameFormatterTest.java	(revision 16951)
+++ /trunk/test/unit/org/openstreetmap/josm/data/osm/DefaultNameFormatterTest.java	(revision 16952)
@@ -168,3 +168,11 @@
                         TestUtils.newNode("tourism=hotel name:en=foo url=http://foo.bar xml=<tag/>")));
     }
+
+    /**
+     * Test of {@link DefaultNameFormatter#removeBiDiCharacters(String)}.
+     */
+    @Test
+    public void testRemoveBiDiCharacters() {
+        assertEquals("building (0 nodes)", DefaultNameFormatter.removeBiDiCharacters("\u200Ebuilding\u200E (0 nodes)\u200C"));
+    }
 }
