Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySignalDownloaderThread.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySignalDownloaderThread.java	(revision 31271)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySignalDownloaderThread.java	(revision 31272)
@@ -41,20 +41,34 @@
 				JsonArray rects = jsonarr.getJsonObject(i)
 						.getJsonArray("rects");
-				if (rects == null)
-					return;
+				JsonArray rectversions = jsonarr.getJsonObject(i).getJsonArray(
+						"rectversions");
 				String key = jsonarr.getJsonObject(i).getString("key");
-				for (int j = 0; j < rects.size(); j++) {
-					JsonObject data = rects.getJsonObject(j);
-					for (MapillaryAbstractImage image : MapillaryData
-							.getInstance().getImages()) {
-						if (image instanceof MapillaryImage) {
-							if (((MapillaryImage) image).getKey().equals(key)) {
-								if (((MapillaryImage) image).getKey().equals(
-										key)) {
+				if (rectversions != null) {
+					for (int j = 0; j < rectversions.size(); j++) {
+						rects = rectversions.getJsonObject(j).getJsonArray("rects");
+						for (int k = 0; k < rects.size(); k++) {
+							JsonObject data = rects.getJsonObject(j);
+							for (MapillaryAbstractImage image : MapillaryData
+									.getInstance().getImages())
+								if (image instanceof MapillaryImage
+										&& ((MapillaryImage) image).getKey()
+												.equals(key))
 									((MapillaryImage) image).addSignal(data
 											.getString("type"));
-								}
-							}
 						}
+					}
+				}
+
+				// Just one signal on the picture
+				else if (rects != null) {
+					for (int j = 0; j < rects.size(); j++) {
+						JsonObject data = rects.getJsonObject(j);
+						for (MapillaryAbstractImage image : MapillaryData
+								.getInstance().getImages())
+							if (image instanceof MapillaryImage
+									&& ((MapillaryImage) image).getKey()
+											.equals(key))
+								((MapillaryImage) image).addSignal(data
+										.getString("type"));
 					}
 				}
Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryToggleDialog.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryToggleDialog.java	(revision 31271)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryToggleDialog.java	(revision 31272)
@@ -361,5 +361,5 @@
 				}
 			});
-		} else if (data != null) {
+		} else if (data != null && result == LoadResult.SUCCESS) {
 			try {
 				BufferedImage img = ImageIO.read(new ByteArrayInputStream(data
