Index: /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/FetchWikidataAction.java
===================================================================
--- /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/FetchWikidataAction.java	(revision 32423)
+++ /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/FetchWikidataAction.java	(revision 32424)
@@ -20,4 +20,5 @@
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.SequenceCommand;
+import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.gui.ConditionalOptionPaneUtil;
@@ -37,8 +38,9 @@
     @Override
     public void actionPerformed(ActionEvent e) {
-        if (getCurrentDataSet() == null) {
+        DataSet ds = getLayerManager().getEditDataSet();
+        if (ds == null) {
             return;
         }
-        Main.worker.submit(new Fetcher(getCurrentDataSet().getSelected()));
+        Main.worker.submit(new Fetcher(ds.getSelected()));
     }
 
@@ -156,8 +158,9 @@
     @Override
     protected void updateEnabledState() {
-        if (getCurrentDataSet() == null) {
+        DataSet ds = getLayerManager().getEditDataSet();
+        if (ds == null) {
             setEnabled(false);
         } else {
-            updateEnabledState(getCurrentDataSet().getSelected());
+            updateEnabledState(ds.getSelected());
         }
     }
Index: /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikidataTagCellRenderer.java
===================================================================
--- /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikidataTagCellRenderer.java	(revision 32423)
+++ /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikidataTagCellRenderer.java	(revision 32424)
@@ -19,5 +19,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.tools.LanguageInfo;
 import org.openstreetmap.josm.tools.Predicates;
 import org.openstreetmap.josm.tools.Utils;
Index: /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaAddNamesAction.java
===================================================================
--- /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaAddNamesAction.java	(revision 32423)
+++ /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaAddNamesAction.java	(revision 32424)
@@ -13,4 +13,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.preferences.StringProperty;
@@ -40,5 +41,5 @@
             Main.debug(tags.toString());
         }
-        AddTagsDialog.addTags(tags.toArray(new String[tags.size()][]), "Wikipedia", Main.main.getCurrentDataSet().getSelected());
+        AddTagsDialog.addTags(tags.toArray(new String[tags.size()][]), "Wikipedia", getLayerManager().getEditDataSet().getSelected());
     }
 
@@ -47,12 +48,13 @@
                 || Arrays.asList(Locale.getISOLanguages()).contains(i.lang))
                 && (!Main.pref.getBoolean("wikipedia.filter-same-names", true)
-                || !i.article.equals(getCurrentDataSet().getSelected().iterator().next().get("name")));
+                || !i.article.equals(getLayerManager().getEditDataSet().getSelected().iterator().next().get("name")));
     }
 
     protected String getWikipediaValue() {
-        if (getCurrentDataSet() == null || getCurrentDataSet().getSelected() == null || getCurrentDataSet().getSelected().size() != 1) {
+        DataSet ds = getLayerManager().getEditDataSet();
+        if (ds == null || ds.getSelected() == null || ds.getSelected().size() != 1) {
             return null;
         } else {
-            return getCurrentDataSet().getSelected().iterator().next().get("wikipedia");
+            return ds.getSelected().iterator().next().get("wikipedia");
         }
     }
Index: /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaCopyTemplate.java
===================================================================
--- /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaCopyTemplate.java	(revision 32423)
+++ /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaCopyTemplate.java	(revision 32424)
@@ -14,4 +14,5 @@
 import org.openstreetmap.josm.data.Preferences;
 import org.openstreetmap.josm.data.Preferences.pref;
+import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -98,8 +99,9 @@
 
         protected Node getSelectedNode() {
-            if (getCurrentDataSet() == null || getCurrentDataSet().getSelected() == null) {
+            DataSet ds = getLayerManager().getEditDataSet();
+            if (ds == null || ds.getSelected() == null) {
                 return null;
             } else {
-                Collection<Node> nodes = Utils.filteredCollection(getCurrentDataSet().getSelected(), Node.class);
+                Collection<Node> nodes = Utils.filteredCollection(ds.getSelected(), Node.class);
                 return nodes.isEmpty() ? null : nodes.iterator().next();
             }
Index: /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaToggleDialog.java
===================================================================
--- /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaToggleDialog.java	(revision 32423)
+++ /applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaToggleDialog.java	(revision 32424)
@@ -39,4 +39,6 @@
 import org.openstreetmap.josm.gui.SideButton;
 import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
+import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;
+import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -45,5 +47,5 @@
 import org.wikipedia.WikipediaApp.WikipediaEntry;
 
-public class WikipediaToggleDialog extends ToggleDialog implements MapView.EditLayerChangeListener, DataSetListenerAdapter.Listener {
+public class WikipediaToggleDialog extends ToggleDialog implements ActiveLayerChangeListener, DataSetListenerAdapter.Listener {
 
     public WikipediaToggleDialog() {
@@ -279,5 +281,5 @@
                 Tag tag = ((WikipediaEntry) list.getSelectedValue()).createWikipediaTag();
                 if (tag != null) {
-                    final Collection<OsmPrimitive> selected = Main.main.getCurrentDataSet().getSelected();
+                    final Collection<OsmPrimitive> selected = Main.getLayerManager().getEditDataSet().getSelected();
                     if (!GuiUtils.confirmOverwrite(tag.getKey(), tag.getValue(), selected)) {
                         return;
@@ -317,6 +319,6 @@
     protected void updateWikipediaArticles() {
         articles.clear();
-        if (Main.main != null && Main.main.getCurrentDataSet() != null) {
-            for (final OsmPrimitive p : Main.main.getCurrentDataSet().allPrimitives()) {
+        if (Main.main != null && Main.getLayerManager().getEditDataSet() != null) {
+            for (final OsmPrimitive p : Main.getLayerManager().getEditDataSet().allPrimitives()) {
                 articles.addAll(WikipediaApp.getWikipediaArticles(wikipediaLang.get(), p));
             }
@@ -329,5 +331,5 @@
     public void showNotify() {
         DatasetEventManager.getInstance().addDatasetListener(dataChangedAdapter, FireMode.IN_EDT_CONSOLIDATED);
-        MapView.addEditLayerChangeListener(this);
+        Main.getLayerManager().addActiveLayerChangeListener(this);
         updateWikipediaArticles();
     }
@@ -336,10 +338,10 @@
     public void hideNotify() {
         DatasetEventManager.getInstance().removeDatasetListener(dataChangedAdapter);
-        MapView.removeEditLayerChangeListener(this);
+        Main.getLayerManager().removeActiveLayerChangeListener(this);
         articles.clear();
     }
 
     @Override
-    public void editLayerChanged(OsmDataLayer oldLayer, OsmDataLayer newLayer) {
+    public void activeOrEditLayerChanged(ActiveLayerChangeEvent e) {
         updateWikipediaArticles();
         list.repaint();
