Index: /trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java	(revision 11783)
+++ /trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java	(revision 11784)
@@ -155,5 +155,6 @@
                     tr("Markers from {0}", name));
 
-            gpxLayer = addOrMergeLayer(layers.getGpxLayer(), findGpxMergeLayer());
+            gpxLayer = layers.getGpxLayer();
+            addOrMergeLayer(gpxLayer, findGpxMergeLayer());
             addOrMergeLayer(layers.getMarkerLayer(), findMarkerMergeLayer(gpxLayer));
 
Index: /trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadNotesTask.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadNotesTask.java	(revision 11783)
+++ /trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadNotesTask.java	(revision 11784)
@@ -122,13 +122,13 @@
             }
 
+            noteLayer = new NoteLayer(notesData, tr("Notes"));
             List<NoteLayer> noteLayers = Main.getLayerManager().getLayersOfType(NoteLayer.class);
             if (!noteLayers.isEmpty()) {
-                noteLayer = noteLayers.get(0);
-                noteLayer.getNoteData().addNotes(notesData);
+                noteLayers.get(0).getNoteData().addNotes(notesData);
                 if (Main.map != null && zoomAfterDownload) {
                     Main.map.mapView.scheduleZoomTo(new ViewportData(noteLayer.getViewProjectionBounds()));
                 }
             } else {
-                Main.getLayerManager().addLayer(new NoteLayer(notesData, tr("Notes")), zoomAfterDownload);
+                Main.getLayerManager().addLayer(noteLayer, zoomAfterDownload);
             }
         }
