Index: trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java	(revision 5107)
+++ trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java	(revision 5108)
@@ -103,5 +103,4 @@
             if (rawData == null)
                 return;
-            rawData.recalculateBounds();
             String name = tr("Downloaded GPX Data");
             GpxLayer layer = new GpxLayer(rawData, name);
Index: trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 5107)
+++ trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 5108)
@@ -83,5 +83,11 @@
     }
 
-    // FIXME might perhaps use visitor pattern?
+    /**
+     * calculates the bounding box of available data and returns it.
+     * The bounds are not stored internally, but recalculated every time
+     * this function is called.
+     * 
+     * FIXME might perhaps use visitor pattern?
+     */
     public Bounds recalculateBounds() {
         Bounds bounds = null;
Index: trunk/src/org/openstreetmap/josm/io/NmeaReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/NmeaReader.java	(revision 5107)
+++ trunk/src/org/openstreetmap/josm/io/NmeaReader.java	(revision 5108)
@@ -209,5 +209,4 @@
             currentTrack.add(ps.waypoints);
             data.tracks.add(new ImmutableGpxTrack(currentTrack, Collections.<String, Object>emptyMap()));
-            data.recalculateBounds();
 
         } catch (final IOException e) {
