diff --git a/src/org/openstreetmap/josm/gui/mappaint/MapImage.java b/src/org/openstreetmap/josm/gui/mappaint/MapImage.java
index d013e30..423c04a 100644
--- a/src/org/openstreetmap/josm/gui/mappaint/MapImage.java
+++ b/src/org/openstreetmap/josm/gui/mappaint/MapImage.java
@@ -64,7 +64,8 @@ public class MapImage {
                     public void finished(ImageIcon result) {
                         synchronized (MapImage.this) {
                             if (result == null) {
-                                img = (BufferedImage) MapPaintStyles.getNoIcon_Icon(source).getImage();
+                                ImageIcon noIcon = MapPaintStyles.getNoIcon_Icon(source);
+                                img = noIcon == null ? null : (BufferedImage) noIcon.getImage();
                             } else {
                                 img = (BufferedImage) result.getImage();
                             }
diff --git a/src/org/openstreetmap/josm/tools/ImageProvider.java b/src/org/openstreetmap/josm/tools/ImageProvider.java
index 60bee7d..014813d 100644
--- a/src/org/openstreetmap/josm/tools/ImageProvider.java
+++ b/src/org/openstreetmap/josm/tools/ImageProvider.java
@@ -249,7 +249,7 @@ public class ImageProvider {
                 throw new RuntimeException(tr("Fatal: failed to locate image ''{0}''. This is a serious configuration problem. JOSM will stop working.", name + ext));
             } else {
                 if (!suppressWarnings) {
-                    System.err.println(tr("Failed to locate image ''{0}''", name));
+                    System.err.println(tr("Failed to locate image ''{0}'' from dirs {1}, subdir ''{2}'', zip ''{3}''", name, dirs, subdir, archive));
                 }
                 return null;
             }
