Index: applications/editors/josm/plugins/opendata/build.xml
===================================================================
--- applications/editors/josm/plugins/opendata/build.xml	(revision 34115)
+++ applications/editors/josm/plugins/opendata/build.xml	(revision 34116)
@@ -12,5 +12,5 @@
     <!-- ** include targets that all plugins have in common ** -->
     <import file="../build-common.xml"/>
-    
+
     <fileset id="plugin.requires.jars" dir="${plugin.dist.dir}">
         <include name="apache-commons.jar"/>
Index: applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/OdDialog.java
===================================================================
--- applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/OdDialog.java	(revision 34115)
+++ applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/gui/OdDialog.java	(revision 34116)
@@ -76,7 +76,5 @@
         @Override
         public void actionPerformed(ActionEvent e) {
-            if (MainApplication.getLayerManager().getEditLayer() instanceof OdLayer) {
-                dataLayer.makeDiff();
-            }
+            // TODO
         }
     }
@@ -146,6 +144,4 @@
             if (dataLayer.osmLayer == null) {
                 downloadButton.setEnabled(true);
-            } else if (dataLayer.diffLayer == null) {
-                diffButton.setEnabled(true);
             }
             toolsButton.setEnabled(dataLayer.handler != null && !dataLayer.handler.getTools().isEmpty());
Index: applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDataLayer.java
===================================================================
--- applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDataLayer.java	(revision 34115)
+++ applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDataLayer.java	(revision 34116)
@@ -34,5 +34,4 @@
 public class OdDataLayer extends OsmDataLayer implements OdLayer, LayerChangeListener, ActiveLayerChangeListener {
 
-    public OdDiffLayer diffLayer;
     public OdOsmDataLayer osmLayer;
 
@@ -75,17 +74,4 @@
     }
 
-    public void addDiffLayer(OdDiffLayer layer) {
-        removeDiffLayer();
-        diffLayer = layer;
-        MainApplication.getLayerManager().addLayer(diffLayer);
-    }
-
-    public void removeDiffLayer() {
-        if (diffLayer != null) {
-            MainApplication.getLayerManager().removeLayer(diffLayer);
-            diffLayer = null;
-        }
-    }
-
     public final void downloadOsmData() {
         if (handler != null) {
@@ -123,9 +109,6 @@
         if (e.getRemovedLayer() == this) {
             removeOsmLayer();
-            removeDiffLayer();
         } else if (e.getRemovedLayer() == osmLayer) {
             osmLayer = null;
-        } else if (e.getRemovedLayer() == diffLayer) {
-            diffLayer = null;
         }
     }
@@ -180,9 +163,3 @@
         return this;
     }
-
-    public void makeDiff() {
-        final OdDiffLayer layer = new OdDiffLayer(this, getName()+"/Diff");
-        addDiffLayer(layer);
-        MainApplication.getLayerManager().setActiveLayer(diffLayer);
-    }
 }
Index: applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDiffLayer.java
===================================================================
--- applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/layers/OdDiffLayer.java	(revision 34115)
+++ 	(revision )
@@ -1,135 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.plugins.opendata.core.layers;
-
-import java.awt.Graphics2D;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.swing.Action;
-import javax.swing.Icon;
-
-import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
-import org.openstreetmap.josm.gui.MapView;
-import org.openstreetmap.josm.gui.layer.Layer;
-import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
-import org.openstreetmap.josm.tools.ImageProvider;
-import org.openstreetmap.josm.tools.Pair;
-
-public class OdDiffLayer extends Layer implements OdLayer {
-
-    private final OdDataLayer dataLayer;
-
-    public final List<Pair<OsmPrimitive, OsmPrimitive>> differentPrimitives;
-    public final List<OsmPrimitive> onlyInTlsPrimitives;
-    public final List<OsmPrimitive> onlyInOsmPrimitives;
-
-    public OdDiffLayer(OdDataLayer dataLayer, String name) {
-        super(name);
-        this.dataLayer = dataLayer;
-        this.differentPrimitives = new ArrayList<>();
-        this.onlyInTlsPrimitives = new ArrayList<>();
-        this.onlyInOsmPrimitives = new ArrayList<>();
-        initDiff(dataLayer.data, dataLayer.osmLayer.data);
-    }
-
-    private void initDiff(DataSet tlsData, DataSet osmData) {
-        for (OsmPrimitive p1 : tlsData.allPrimitives()) {
-            if (dataLayer.handler.isRelevant(p1)) {
-                OsmPrimitive p2 = findPrimitiveAt(osmData, p1);
-                if (p2 == null) {
-                    onlyInTlsPrimitives.add(p1);
-                } else if (!dataLayer.handler.equals(p1, p2)) {
-                    differentPrimitives.add(new Pair<>(p1, p2));
-                }
-            }
-        }
-        for (OsmPrimitive p1 : osmData.allPrimitives()) {
-            if (dataLayer.handler.isRelevant(p1)) {
-                if (findPrimitiveAt(tlsData, p1) == null) {
-                    onlyInOsmPrimitives.add(p1);
-                }
-            }
-        }
-    }
-
-    private double distance(OsmPrimitive p1, OsmPrimitive p2) {
-        return p1.getBBox().getCenter().greatCircleDistance(p2.getBBox().getCenter());
-    }
-
-    private OsmPrimitive findPrimitiveAt(DataSet dataSet, OsmPrimitive source) {
-        double maxDistance = Main.pref.getDouble(OdConstants.PREF_MAXDISTANCE, OdConstants.DEFAULT_MAXDISTANCE);
-        //List<OsmPrimitive> samePrimitives = new ArrayList<OsmPrimitive>();
-        OsmPrimitive nearestSamePrimitive = null;
-        //List<OsmPrimitive> potentialPrimitives = new ArrayList<OsmPrimitive>();
-        OsmPrimitive nearestPotentialPrimitive = null;
-        for (OsmPrimitive p : dataSet.allPrimitives()) {
-            if (dataLayer.handler.isRelevant(p)) {
-                double dist = distance(source, p);
-                if (dist <= maxDistance) {
-                    if (dataLayer.handler.equals(p, source)) {
-                        //samePrimitives.add(p);
-                        if (nearestSamePrimitive == null || distance(p, nearestSamePrimitive) > dist) {
-                            nearestSamePrimitive = p;
-                        }
-                    } else {
-                        //potentialPrimitives.add(p);
-                        if (nearestPotentialPrimitive == null || distance(p, nearestPotentialPrimitive) > dist) {
-                            nearestPotentialPrimitive = p;
-                        }
-                    }
-                }
-            }
-        }
-        return nearestSamePrimitive != null ? nearestSamePrimitive : nearestPotentialPrimitive;
-    }
-
-    @Override
-    public void paint(Graphics2D g, MapView mv, Bounds box) {
-        // TODO Auto-generated method stub
-    }
-
-    @Override
-    public Icon getIcon() {
-        return ImageProvider.get("layer", "diff");
-    }
-
-    @Override
-    public String getToolTipText() {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
-    public void mergeFrom(Layer from) {
-    }
-
-    @Override
-    public boolean isMergable(Layer other) {
-        return false;
-    }
-
-    @Override
-    public void visitBoundingBox(BoundingXYVisitor v) {
-        // TODO Auto-generated method stub
-    }
-
-    @Override
-    public Object getInfoComponent() {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
-    public Action[] getMenuEntries() {
-        return null;
-    }
-
-    @Override
-    public OdDataLayer getDataLayer() {
-        return dataLayer;
-    }
-}
