Index: /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxLayer.java
===================================================================
--- /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxLayer.java	(revision 21581)
+++ /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxLayer.java	(revision 21582)
@@ -150,5 +150,6 @@
 			Main.main.addLayer(new GpxLayer(toGpxData(false), tr("Converted from: {0}", getName())));
 			Main.main.removeLayer(EditGpxLayer.this);
-			Main.map.selectSelectTool(false);
+			if(Main.map.mapMode instanceof EditGpxMode)
+				Main.map.selectSelectTool(false);
 		}
 	}
@@ -162,5 +163,6 @@
 			Main.main.addLayer(new GpxLayer(toGpxData(true), tr("Converted from: {0}", getName())));
 			Main.main.removeLayer(EditGpxLayer.this);
-			Main.map.selectSelectTool(false);
+			if(Main.map.mapMode instanceof EditGpxMode)
+				Main.map.selectSelectTool(false);
 		}
 	}
Index: /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxMode.java
===================================================================
--- /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxMode.java	(revision 21581)
+++ /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/EditGpxMode.java	(revision 21582)
@@ -173,4 +173,6 @@
 		if (oldLayer instanceof EditGpxLayer) {
 			currentEditLayer = null;
+			if(Main.map.mapMode instanceof EditGpxMode)
+				Main.map.selectSelectTool(false);
 		}
 	}
Index: /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/GPXLayerImportAction.java
===================================================================
--- /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/GPXLayerImportAction.java	(revision 21581)
+++ /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/GPXLayerImportAction.java	(revision 21582)
@@ -106,5 +106,5 @@
 
 			synchronized(importing) {
-				this.data.load(gpx.data);
+				this.data.load(gpx.data, dropFirst.isSelected());
 			}
 			Main.map.mapView.repaint();
Index: /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxData.java
===================================================================
--- /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxData.java	(revision 21581)
+++ /applications/editors/josm/plugins/editgpx/src/org/openstreetmap/josm/plugins/editgpx/data/EditGpxData.java	(revision 21582)
@@ -16,6 +16,7 @@
 	private final List<WayPoint> waypoints = new ArrayList<WayPoint>();
 
-	public void load(GpxData data) {
-		tracks.clear();
+	public void load(GpxData data, boolean drop) {
+		if(drop)
+			tracks.clear();
 		for (GpxTrack track: data.tracks) {
 			tracks.add(new EditGpxTrack(track));
