Index: /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 8657)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 8658)
@@ -1096,4 +1096,7 @@
      */
     private List<ImageEntry> getSortedImgList(boolean exif, boolean tagged) {
+        if (yLayer.data == null) {
+            return Collections.emptyList();
+        }
         List<ImageEntry> dateImgLst = new ArrayList<>(yLayer.data.size());
         for (ImageEntry e : yLayer.data) {
Index: /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	(revision 8657)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	(revision 8658)
@@ -252,5 +252,5 @@
                 Main.main.addLayer(layer);
 
-                if (!canceled && !layer.data.isEmpty()) {
+                if (!canceled && layer.data != null && !layer.data.isEmpty()) {
                     boolean noGeotagFound = true;
                     for (ImageEntry e : layer.data) {
@@ -317,5 +317,7 @@
     public GeoImageLayer(final List<ImageEntry> data, GpxLayer gpxLayer, final String name, boolean useThumbs) {
         super(name != null ? name : tr("Geotagged Images"));
-        Collections.sort(data);
+        if (data != null) {
+            Collections.sort(data);
+        }
         this.data = data;
         this.gpxLayer = gpxLayer;
@@ -755,5 +757,5 @@
 
     public void checkPreviousNextButtons() {
-        ImageViewerDialog.setNextEnabled(currentPhoto < data.size() - 1);
+        ImageViewerDialog.setNextEnabled(data != null && currentPhoto < data.size() - 1);
         ImageViewerDialog.setPreviousEnabled(currentPhoto > 0);
     }
@@ -1087,4 +1089,7 @@
      */
     public List<ImageEntry> getImages() {
+        if (data == null) {
+            return Collections.emptyList();
+        }
         List<ImageEntry> copy = new ArrayList<>(data.size());
         for (ImageEntry ie : data) {
Index: /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ShowThumbnailAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ShowThumbnailAction.java	(revision 8657)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ShowThumbnailAction.java	(revision 8658)
@@ -51,5 +51,5 @@
      */
     private static boolean enabled(GeoImageLayer layer) {
-        return !layer.data.isEmpty();
+        return layer.data != null && !layer.data.isEmpty();
     }
 
