Index: src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java
===================================================================
--- src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java	(revision 15625)
+++ src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java	(working copy)
@@ -138,7 +138,7 @@
             rememberDownloadedData(rawData);
             if (rawData == null)
                 return;
-            String name = newLayerName != null ? newLayerName : tr("Downloaded GPX Data");
+            String name = getLayerName();
 
             GpxImporterData layers = GpxImporter.loadLayers(rawData, reader.isGpxParsedProperly(), name,
                     tr("Markers from {0}", name));
@@ -150,6 +150,19 @@
             layers.getPostLayerTask().run();
         }
 
+        private String getLayerName() {
+            final String name;
+            if (newLayerName != null) {
+                name = newLayerName;
+            } else if (rawData != null && rawData.getString(GpxData.META_NAME) != null
+                    && !rawData.getString(GpxData.META_NAME).trim().isEmpty()) {
+                name = rawData.getString(GpxData.META_NAME);
+            } else {
+                name = tr("Downloaded GPX Data");
+            }
+            return name;
+        }
+
         private <L extends Layer> L addOrMergeLayer(L layer, L mergeLayer) {
             if (layer == null) return null;
             if (newLayer || mergeLayer == null) {
