Index: /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaApp.java
===================================================================
--- /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaApp.java	(revision 32607)
+++ /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaApp.java	(revision 32608)
@@ -10,4 +10,5 @@
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -218,10 +219,16 @@
 
     static String getLabelForWikidata(String wikidataId, Locale locale, String ... preferredLanguage) {
-        try {
-            CheckParameterUtil.ensureThat(WIKIDATA_PATTERN.matcher(wikidataId).matches(), "Invalid Wikidata ID given");
+        return getLabelForWikidata(Collections.singleton(wikidataId), locale, preferredLanguage).get(wikidataId);
+    }
+
+    static Map<String, String> getLabelForWikidata(Collection<String> wikidataIds, Locale locale, String ... preferredLanguage) {
+        try {
+            for (final String wikidataId : wikidataIds) {
+                ensureValidWikidataId(wikidataId);
+            }
             final String url = "https://www.wikidata.org/w/api.php" +
                     "?action=wbgetentities" +
                     "&props=labels" +
-                    "&ids=" + wikidataId +
+                    "&ids=" + Utils.join("|", wikidataIds) +
                     "&format=xml";
             final Collection<String> languages = new ArrayList<>();
@@ -232,16 +239,23 @@
             languages.addAll(Arrays.asList(preferredLanguage));
             languages.add("en");
+            languages.add(null);
+            final Map<String, String> r = new HashMap<>();
             try (final InputStream in = HttpClient.create(new URL(url)).setReasonForRequest("Wikipedia").connect().getContent()) {
                 final Document xml = DOCUMENT_BUILDER.parse(in);
-                for (String language : languages) {
-                    final String label = (String) X_PATH.compile("//label[@language='" + language + "']/@value")
-                            .evaluate(xml, XPathConstants.STRING);
-                    if (label != null && !label.isEmpty()) {
-                         return label;
+                for (final String wikidataId : wikidataIds) {
+                    final Node entity = (Node) X_PATH.compile("//entity[@id='" + wikidataId + "']").evaluate(xml, XPathConstants.NODE);
+                    for (String language : languages) {
+                        final String label = (String) X_PATH.compile(language != null
+                                ? "./labels/label[@language='" + language + "']/@value"
+                                : "./labels/label/@value"
+                        ).evaluate(entity, XPathConstants.STRING);
+                        if (label != null && !label.isEmpty()) {
+                            r.put(wikidataId, label);
+                            break;
+                        }
                     }
                 }
-                final String fallBackLabel = (String) X_PATH.compile("//label/@value").evaluate(xml, XPathConstants.STRING);
-                return fallBackLabel == null || fallBackLabel.isEmpty() ? null : fallBackLabel;
-            }
+            }
+            return r;
         } catch (Exception ex) {
             throw new RuntimeException(ex);
@@ -409,4 +423,8 @@
     }
 
+    static void ensureValidWikidataId(String id) {
+        CheckParameterUtil.ensureThat(WIKIDATA_PATTERN.matcher(id).matches(), "Invalid Wikidata ID given: " + id);
+    }
+
     public static <T> List<List<T>> partitionList(final List<T> list, final int size) {
         return new AbstractList<List<T>>() {
Index: /applications/editors/josm/plugins/wikipedia/test/unit/org/wikipedia/WikipediaAppTest.java
===================================================================
--- /applications/editors/josm/plugins/wikipedia/test/unit/org/wikipedia/WikipediaAppTest.java	(revision 32607)
+++ /applications/editors/josm/plugins/wikipedia/test/unit/org/wikipedia/WikipediaAppTest.java	(revision 32608)
@@ -168,4 +168,7 @@
         // not found -> null
         assertThat(WikipediaApp.getLabelForWikidata("Q" + Long.MAX_VALUE, Locale.ENGLISH), nullValue());
+        final Map<String, String> twoLabels = WikipediaApp.getLabelForWikidata(Arrays.asList("Q84", "Q1741"), Locale.GERMAN);
+        assertThat(twoLabels.get("Q84"), is("London"));
+        assertThat(twoLabels.get("Q1741"), is("Wien"));
     }
 
