Index: trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java	(revision 2634)
+++ trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java	(revision 2635)
@@ -535,7 +535,6 @@
          ********** STEP 2a - CHECK CACHE VALIDITY **********************
          ****************************************************************/
-        if (computeCacheInSync
-                && ((computeCacheMaxLineLengthUsed != maxLineLength) || (!neutralColor.equals(computeCacheColorUsed))
-                        || (computeCacheColored != colored) || (computeCacheColorTracksTune != colorTracksTune))) {
+        if ((computeCacheMaxLineLengthUsed != maxLineLength) || (!neutralColor.equals(computeCacheColorUsed))
+                        || (computeCacheColored != colored) || (computeCacheColorTracksTune != colorTracksTune)) {
             // System.out.println("(re-)computing gpx line styles, reason: CCIS=" +
             // computeCacheInSync + " CCMLLU=" + (computeCacheMaxLineLengthUsed != maxLineLength) +
@@ -555,8 +554,8 @@
             WayPoint oldWp = null;
             for (GpxTrack trk : data.tracks) {
-                if (!forceLines) { // don't draw lines between segments, unless forced to
-                    oldWp = null;
-                }
                 for (Collection<WayPoint> segment : trk.trackSegs) {
+                    if (!forceLines) { // don't draw lines between segments, unless forced to
+                        oldWp = null;
+                    }
                     for (WayPoint trkPnt : segment) {
                         LatLon c = trkPnt.getCoor();
