Index: /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageEntry.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageEntry.java	(revision 18107)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageEntry.java	(revision 18108)
@@ -1,4 +1,6 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.gui.layer.geoimage;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.Dimension;
@@ -15,4 +17,8 @@
 import java.util.Objects;
 
+import javax.imageio.IIOParam;
+import javax.imageio.ImageReadParam;
+import javax.imageio.ImageReader;
+
 import org.openstreetmap.josm.data.ImageData;
 import org.openstreetmap.josm.data.gpx.GpxImageEntry;
@@ -20,10 +26,4 @@
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Logging;
-
-import javax.imageio.IIOParam;
-import javax.imageio.ImageReadParam;
-import javax.imageio.ImageReader;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
 
 /**
@@ -139,5 +139,5 @@
      * Reads the image represented by this entry in the given target dimension.
      * @param target the desired dimension used for {@linkplain IIOParam#setSourceSubsampling subsampling} or {@code null}
-     * @return the read image
+     * @return the read image, or {@code null}
      * @throws IOException if any I/O error occurs
      */
@@ -147,4 +147,8 @@
         BufferedImage image = ImageProvider.read(imageUrl, false, false,
                 r -> target == null ? r.getDefaultReadParam() : withSubsampling(r, target));
+        if (image == null) {
+            Logging.warn("Unable to load {0}", imageUrl);
+            return null;
+        }
         Logging.debug("Loaded {0} with dimensions {1}x{2} memoryTaken={3}m exifOrientationSwitchedDimension={4}",
                 imageUrl, image.getWidth(), image.getHeight(), image.getWidth() * image.getHeight() * 4 / 1024 / 1024,
Index: /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ThumbsLoader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ThumbsLoader.java	(revision 18107)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ThumbsLoader.java	(revision 18108)
@@ -114,5 +114,5 @@
         }
 
-        if (img.getWidth() <= 0 || img.getHeight() <= 0) {
+        if (img == null || img.getWidth() <= 0 || img.getHeight() <= 0) {
             Logging.error(" Invalid image");
             return null;
