Index: /trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java	(revision 12273)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/gpx/GpxDrawHelper.java	(revision 12274)
@@ -40,4 +40,6 @@
 import org.openstreetmap.josm.data.gpx.GpxConstants;
 import org.openstreetmap.josm.data.gpx.GpxData;
+import org.openstreetmap.josm.data.gpx.GpxData.GpxDataChangeEvent;
+import org.openstreetmap.josm.data.gpx.GpxData.GpxDataChangeListener;
 import org.openstreetmap.josm.data.gpx.WayPoint;
 import org.openstreetmap.josm.data.preferences.ColorProperty;
@@ -59,5 +61,5 @@
  * @since 7319
  */
-public class GpxDrawHelper implements SoMChangeListener, MapViewPaintable.LayerPainter, PaintableInvalidationListener {
+public class GpxDrawHelper implements SoMChangeListener, MapViewPaintable.LayerPainter, PaintableInvalidationListener, GpxDataChangeListener {
 
     /**
@@ -220,4 +222,5 @@
         layer = gpxLayer;
         data = gpxLayer.data;
+        data.addChangeListener(this);
 
         layer.addInvalidationListener(this);
@@ -1450,5 +1453,6 @@
      *  callback when data is changed, invalidate cached configuration parameters
      */
-    public void dataChanged() {
+    @Override
+    public void gpxDataChanged(GpxDataChangeEvent e) {
         computeCacheInSync = false;
     }
@@ -1484,4 +1488,5 @@
         SystemOfMeasurement.removeSoMChangeListener(this);
         layer.removeInvalidationListener(this);
+        data.removeChangeListener(this);
     }
 }
