Index: /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaApp.java
===================================================================
--- /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaApp.java	(revision 30124)
+++ /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaApp.java	(revision 30125)
@@ -199,9 +199,9 @@
             url = decodeURL(url);
             // extract Wikipedia language and
-            final Matcher m = Pattern.compile("https?://(\\w*)\\.wikipedia\\.org/wiki/(.*)").matcher(url);
+            final Matcher m = Pattern.compile("(https?:)?//(\\w*)\\.wikipedia\\.org/wiki/(.*)").matcher(url);
             if (!m.matches()) {
                 return null;
             }
-            return new WikipediaLangArticle(m.group(1), m.group(2));
+            return new WikipediaLangArticle(m.group(2), m.group(3));
         }
 
Index: /applications/editors/josm/plugins/wikipedia/test/org/wikipedia/WikipediaAppTest.java
===================================================================
--- /applications/editors/josm/plugins/wikipedia/test/org/wikipedia/WikipediaAppTest.java	(revision 30124)
+++ /applications/editors/josm/plugins/wikipedia/test/org/wikipedia/WikipediaAppTest.java	(revision 30125)
@@ -2,4 +2,7 @@
 
 import org.junit.Test;
+import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.tools.Predicate;
+import org.openstreetmap.josm.tools.Utils;
 import org.wikipedia.WikipediaApp.WikipediaEntry;
 import org.wikipedia.WikipediaApp.WikipediaLangArticle;
@@ -7,8 +10,10 @@
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.List;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.nullValue;
 import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
 import static org.junit.matchers.JUnitMatchers.hasItem;
 
@@ -46,4 +51,11 @@
         final WikipediaLangArticle actual = WikipediaLangArticle.parseFromUrl("http://de.wikipedia.org/wiki/Sternheim_%26_Emanuel");
         assertThat(actual.article, is("Sternheim_&_Emanuel"));
+        assertThat(actual.lang, is("de"));
+    }
+
+    @Test
+    public void testParseFromUrl4() {
+        final WikipediaLangArticle actual = WikipediaLangArticle.parseFromUrl("//de.wikipedia.org/wiki/Reichstagsgeb%C3%A4ude");
+        assertThat(actual.article, is("Reichstagsgebäude"));
         assertThat(actual.lang, is("de"));
     }
@@ -103,3 +115,14 @@
     }
 
+    @Test
+    public void testFromCoordinates() throws Exception {
+        final List<WikipediaEntry> entries = WikipediaApp.getEntriesFromCoordinates("de",
+                new LatLon(52.5179786, 13.3753321), new LatLon(52.5192215, 13.3768705));
+        assertTrue(Utils.exists(entries, new Predicate<WikipediaEntry>() {
+            @Override
+            public boolean evaluate(WikipediaEntry entry) {
+                return "Deutscher Bundestag".equals(entry.wikipediaArticle) && "de".equals(entry.wikipediaLang);
+            }
+        }));
+    }
 }
