Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryData.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryData.java	(revision 31399)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryData.java	(revision 31400)
@@ -237,4 +237,9 @@
    */
   public void setSelectedImage(MapillaryAbstractImage image, boolean zoom) {
+    if (image != null) {
+      System.out.println("----------------------------");
+      for (MapillaryAbstractImage img : getImages())
+        System.out.println(img.getSequence());
+    }
     MapillaryAbstractImage oldImage = selectedImage;
     selectedImage = image;
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryLayer.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryLayer.java	(revision 31399)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryLayer.java	(revision 31400)
@@ -251,7 +251,4 @@
   }
 
-  /**
-   * Returns true any of the images from the database has been modified.
-   */
   @Override
   public boolean isModified() {
@@ -304,7 +301,4 @@
   }
 
-  /**
-   * Paints the database in the map.
-   */
   @Override
   public synchronized void paint(Graphics2D g, MapView mv, Bounds box) {
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/cache/Utils.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/cache/Utils.java	(revision 31399)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/cache/Utils.java	(revision 31400)
@@ -8,16 +8,15 @@
 
 /**
- * Downloads and stores pictures in cache.
+ * Utility methods for working with cache.
  *
  * @author nokutu
  *
  */
-public class Utils implements ICachedLoaderListener {
+public class Utils {
 
-  static Utils INSTANCE = new Utils();
-
+  private static IgnoreDownload IGNORE_DOWNLOAD = new IgnoreDownload();
 
   /**
-   * Downloads the picture of the given image.
+   * Downloads the picture of the given image and does nothing when it is downloaded.
    *
    * @param img
@@ -27,14 +26,16 @@
       throw new IllegalArgumentException();
     new MapillaryCache(((MapillaryImage) img).getKey(), MapillaryCache.Type.THUMBNAIL).submit(
-        INSTANCE, false);
+        IGNORE_DOWNLOAD, false);
     new MapillaryCache(((MapillaryImage) img).getKey(), MapillaryCache.Type.FULL_IMAGE).submit(
-        INSTANCE, false);
+        IGNORE_DOWNLOAD, false);
   }
 
-  @Override
-  public void loadingFinished(CacheEntry arg0, CacheEntryAttributes arg1,
-      LoadResult arg2) {
-    // Nothing
+  private static class IgnoreDownload implements ICachedLoaderListener {
+
+    @Override
+    public void loadingFinished(CacheEntry arg0, CacheEntryAttributes arg1,
+        LoadResult arg2) {
+      // Nothing
+    }
   }
-
 }
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySequenceDownloadThread.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySequenceDownloadThread.java	(revision 31399)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySequenceDownloadThread.java	(revision 31400)
@@ -102,12 +102,13 @@
         for (MapillaryImage img : finalImages) {
           if (layer.getMapillaryData().getImages().contains(img)) {
+            // The image in finalImages is substituted by the one in the
+            // database, as they are equal.
+            img = (MapillaryImage) layer.getMapillaryData().getImages()
+                .get(layer.getMapillaryData().getImages().indexOf(img));
             sequence.add(img);
             ((MapillaryImage) layer.getMapillaryData().getImages()
                 .get(layer.getMapillaryData().getImages().indexOf(img)))
                 .setSequence(sequence);
-            finalImages.set(
-                finalImages.indexOf(img),
-                (MapillaryImage) layer.getMapillaryData().getImages()
-                    .get(layer.getMapillaryData().getImages().indexOf(img)));
+            finalImages.set(finalImages.indexOf(img), img);
           } else {
             img.setSequence(sequence);
