Index: /trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java	(revision 12194)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/GpxLayer.java	(revision 12195)
@@ -23,4 +23,5 @@
 import org.openstreetmap.josm.data.gpx.GpxConstants;
 import org.openstreetmap.josm.data.gpx.GpxData;
+import org.openstreetmap.josm.data.gpx.GpxData.GpxDataChangeListener;
 import org.openstreetmap.josm.data.gpx.GpxTrack;
 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
@@ -60,4 +61,8 @@
      */
     public boolean[] trackVisibility = new boolean[0];
+    /**
+     * Added as field to be kept as reference.
+     */
+    private final GpxDataChangeListener dataChangeListener = e -> this.invalidate();
 
     /**
@@ -87,5 +92,5 @@
         super(d.getString(GpxConstants.META_NAME));
         data = d;
-        data.addWeakChangeListener(e -> this.invalidate());
+        data.addWeakChangeListener(dataChangeListener);
         trackVisibility = new boolean[data.getTracks().size()];
         Arrays.fill(trackVisibility, true);
