Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 18195)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 18196)
@@ -380,5 +380,7 @@
                 GpxData removedGpxData = ((GpxDataContainer) layer).getGpxData();
                 for (int i = gpxModel.getSize() - 1; i >= 0; i--) {
-                    if (gpxModel.getElementAt(i).data.equals(removedGpxData)) {
+                    GpxData data = gpxModel.getElementAt(i).data;
+                    // removedGpxData can be null if gpx layer has been destroyed before this listener
+                    if (data.equals(removedGpxData) || (removedGpxData == null && data.isEmpty())) {
                         gpxModel.removeElementAt(i);
                         forEachLayer(correlateAction -> {
