Index: trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java	(revision 5744)
+++ trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java	(revision 5745)
@@ -185,3 +185,14 @@
         return null;
     }
+    
+    /**
+     * Determines if the given URL denotes an OSM gpx-related API call.
+     * @param url The url to check
+     * @return true if the url matches "Trace ID" API call or "Trackpoints bbox" API call, false otherwise
+     * @see GpxData#fromServer
+     * @since 5745
+     */
+    public static final boolean isFromServer(String url) {
+        return url != null && (url.matches(PATTERN_TRACE_ID) || url.matches(PATTERN_TRACKPOINTS_BBOX));
+    }
 }
Index: trunk/src/org/openstreetmap/josm/io/OsmServerLocationReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerLocationReader.java	(revision 5744)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerLocationReader.java	(revision 5745)
@@ -9,4 +9,5 @@
 
 import org.apache.tools.bzip2.CBZip2InputStream;
+import org.openstreetmap.josm.actions.downloadtasks.DownloadGpsTask;
 import org.openstreetmap.josm.data.gpx.GpxData;
 import org.openstreetmap.josm.data.osm.DataSet;
@@ -168,5 +169,5 @@
                 gpxParsedProperly = reader.parse(false);
                 GpxData result = reader.getGpxData();
-                result.fromServer = true;
+                result.fromServer = DownloadGpsTask.isFromServer(url);
                 return result;
             }
