Index: applications/editors/josm/plugins/mapdust/src/org/openstreetmap/josm/plugins/mapdust/MapdustPlugin.java
===================================================================
--- applications/editors/josm/plugins/mapdust/src/org/openstreetmap/josm/plugins/mapdust/MapdustPlugin.java	(revision 32472)
+++ applications/editors/josm/plugins/mapdust/src/org/openstreetmap/josm/plugins/mapdust/MapdustPlugin.java	(revision 32473)
@@ -29,4 +29,5 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+
 import java.awt.Point;
 import java.awt.event.KeyEvent;
@@ -35,6 +36,8 @@
 import java.util.ArrayList;
 import java.util.List;
+
 import javax.swing.JOptionPane;
 import javax.swing.SwingUtilities;
+
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
@@ -44,8 +47,10 @@
 import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.MapView.LayerChangeListener;
 import org.openstreetmap.josm.gui.NavigatableComponent;
 import org.openstreetmap.josm.gui.NavigatableComponent.ZoomChangeListener;
-import org.openstreetmap.josm.gui.layer.Layer;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerAddEvent;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerChangeListener;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerOrderChangeEvent;
+import org.openstreetmap.josm.gui.layer.LayerManager.LayerRemoveEvent;
 import org.openstreetmap.josm.plugins.Plugin;
 import org.openstreetmap.josm.plugins.PluginInformation;
@@ -152,5 +157,5 @@
             /* add Listeners */
             NavigatableComponent.addZoomChangeListener(this);
-            MapView.addLayerChangeListener(this);
+            Main.getLayerManager().addLayerChangeListener(this);
             newMapFrame.mapView.addMouseListener(this);
             /* put username to preferences */
@@ -159,5 +164,5 @@
             /* if new MapFrame is null, remove listener */
             oldMapFrame.mapView.removeMouseListener(this);
-            MapView.removeLayerChangeListener(this);
+            Main.getLayerManager().removeLayerChangeListener(this);
             NavigatableComponent.removeZoomChangeListener(this);
             mapdustGUI.removeObserver(this);
@@ -421,9 +426,7 @@
     }
 
-    /**
-     * No need to implement this.
-     */
-    @Override
-    public void activeLayerChange(Layer arg0, Layer arg1) {}
+    @Override
+    public void layerOrderChanged(LayerOrderChangeEvent e) {
+    }
 
     /**
@@ -432,9 +435,8 @@
      * MapDust Service and updates the editor with this new data.
      *
-     * @param layer The <code>Layer</code> which will be added to the JOSM
-     * editor
-     */
-    @Override
-    public void layerAdded(Layer layer) {}
+     * @param e The new added layer event
+     */
+    @Override
+    public void layerAdded(LayerAddEvent e) {}
 
     /**
@@ -442,15 +444,13 @@
      * the MapDust plug-in window.
      *
-     * @param layer The <code>Layer</code> which will be removed from the JOSM
-     * editor
-     */
-    @Override
-    public void layerRemoved(Layer layer) {
-        if (layer instanceof MapdustLayer) {
+     * @param e The new added layer event
+     */
+    @Override
+    public void layerRemoving(LayerRemoveEvent e) {
+        if (e.getRemovedLayer() instanceof MapdustLayer) {
             /* remove the layer */
             Main.pref.put("mapdust.pluginState",
                     MapdustPluginState.ONLINE.getValue());
             NavigatableComponent.removeZoomChangeListener(this);
-            Main.main.removeLayer(layer);
             if (mapdustGUI != null) {
                 Main.map.remove(mapdustGUI);
@@ -588,5 +588,5 @@
                     mapdustLayer = new MapdustLayer("MapDust", mapdustGUI,
                             mapdustBugList);
-                    Main.main.addLayer(this.mapdustLayer);
+                    Main.getLayerManager().addLayer(this.mapdustLayer);
                     Main.map.mapView.moveLayer(this.mapdustLayer, 0);
                     Main.map.mapView.addMouseListener(this);
