Index: applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadOsmConnection.java
===================================================================
--- applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadOsmConnection.java	(revision 31949)
+++ applications/editors/josm/plugins/DirectUpload/src/org/openstreetmap/josm/plugins/DirectUpload/UploadOsmConnection.java	(revision 32329)
@@ -11,4 +11,5 @@
 import org.openstreetmap.josm.gui.layer.GpxLayer;
 import org.openstreetmap.josm.gui.layer.Layer;
+import org.openstreetmap.josm.gui.layer.MainLayerManager;
 import org.openstreetmap.josm.io.OsmConnection;
 import org.openstreetmap.josm.io.OsmTransferException;
@@ -49,8 +50,8 @@
     GpxData autoSelectTrace() {
         if (Main.map != null && Main.map.mapView != null) {
-            MapView mv = Main.map.mapView;
+            MainLayerManager lm = Main.getLayerManager();
 //            List<Layer> allLayers = new ArrayList<Layer>(mv.getAllLayersAsList());  // modifiable
             List<Layer> selectedLayers = LayerListDialog.getInstance().getModel().getSelectedLayers();
-            List<GpxLayer> gpxLayersRemaining = mv.getLayersOfType(GpxLayer.class);
+            List<GpxLayer> gpxLayersRemaining = lm.getLayersOfType(GpxLayer.class);
             gpxLayersRemaining.removeAll(selectedLayers);
             GpxLayer traceLayer = null;
@@ -68,12 +69,11 @@
                 }
                 // active layer
-                else if (mv.getActiveLayer() instanceof GpxLayer) {
-                    traceLayer = (GpxLayer) mv.getActiveLayer();
+                else if (lm.getActiveLayer() instanceof GpxLayer) {
+                    traceLayer = (GpxLayer) lm.getActiveLayer();
                 }
             }
 
             if (traceLayer != null) {
-                GpxData data = traceLayer.data;
-                return data;
+                return traceLayer.data;
             }
         }
