Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryAbstractImage.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryAbstractImage.java	(revision 31989)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryAbstractImage.java	(revision 32033)
@@ -51,13 +51,9 @@
    * Creates a new object in the given position and with the given direction.
    *
-   * @param lat
-   *          The latitude where the picture was taken.
-   * @param lon
-   *          The longitude where the picture was taken.
-   * @param ca
-   *          The direction of the picture (0 means north).
-   */
-  protected MapillaryAbstractImage(final double lat, final double lon, final double ca) {
-    this.latLon = new LatLon(lat, lon);
+   * @param latLon  The latitude and longitude where the picture was taken.
+   * @param ca  The direction of the picture (0 means north).
+   */
+  protected MapillaryAbstractImage(final LatLon latLon, final double ca) {
+    this.latLon = latLon;
     this.tempLatLon = this.latLon;
     this.movingLatLon = this.latLon;
Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImage.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImage.java	(revision 31989)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImage.java	(revision 32033)
@@ -4,4 +4,6 @@
 import java.util.ArrayList;
 import java.util.List;
+
+import org.openstreetmap.josm.data.coor.LatLon;
 
 /**
@@ -25,15 +27,10 @@
    * Main constructor of the class MapillaryImage
    *
-   * @param key
-   *          The unique identifier of the image.
-   * @param lat
-   *          The latitude where it is positioned.
-   * @param lon
-   *          The longitude where it is positioned.
-   * @param ca
-   *          The direction of the images in degrees, meaning 0 north.
+   * @param key  The unique identifier of the image.
+   * @param latLon  The latitude and longitude where it is positioned.
+   * @param ca  The direction of the images in degrees, meaning 0 north.
    */
-  public MapillaryImage(String key, double lat, double lon, double ca) {
-    super(lat, lon, ca);
+  public MapillaryImage(final String key, final LatLon latLon, final double ca) {
+    super(latLon, ca);
     this.key = key;
   }
Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImportedImage.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImportedImage.java	(revision 31989)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImportedImage.java	(revision 32033)
@@ -9,4 +9,5 @@
 import javax.imageio.ImageIO;
 
+import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.plugins.mapillary.utils.MapillaryUtils;
 
@@ -27,15 +28,10 @@
    * Using when the EXIF tags doesn't contain that info.
    *
-   * @param lat
-   *          Latitude where the picture was taken.
-   * @param lon
-   *          Longitude where the picture was taken.
-   * @param ca
-   *          Direction of the picture (0 means north).
-   * @param file
-   *          The file containing the picture.
+   * @param latLon  The latitude and longitude where the picture was taken.
+   * @param ca  Direction of the picture (0 means north).
+   * @param file  The file containing the picture.
    */
-  public MapillaryImportedImage(double lat, double lon, double ca, File file) {
-    this(lat, lon, ca, file, MapillaryUtils.currentDate());
+  public MapillaryImportedImage(final LatLon latLon, final double ca, final File file) {
+    this(latLon, ca, file, MapillaryUtils.currentDate());
   }
 
@@ -43,18 +39,11 @@
    * Main constructor of the class.
    *
-   * @param lat
-   *          Latitude where the picture was taken.
-   * @param lon
-   *          Longitude where the picture was taken.
-   * @param ca
-   *          Direction of the picture (0 means north),
-   * @param file
-   *          The file containing the picture.
-   * @param datetimeOriginal
-   *          The date the picture was taken.
+   * @param latLon  Latitude and Longitude where the picture was taken.
+   * @param ca  Direction of the picture (0 means north),
+   * @param file  The file containing the picture.
+   * @param datetimeOriginal  The date the picture was taken.
    */
-  public MapillaryImportedImage(double lat, double lon, double ca, File file,
-      String datetimeOriginal) {
-    super(lat, lon, ca);
+  public MapillaryImportedImage(final LatLon latLon, final double ca, final File file, final String datetimeOriginal) {
+    super(latLon, ca);
     this.file = file;
     try {
Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/io/download/MapillarySequenceDownloadThread.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/io/download/MapillarySequenceDownloadThread.java	(revision 31989)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/io/download/MapillarySequenceDownloadThread.java	(revision 32033)
@@ -16,4 +16,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
+import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.plugins.mapillary.MapillaryAbstractImage;
 import org.openstreetmap.josm.plugins.mapillary.MapillaryData;
@@ -71,8 +72,11 @@
         for (int j = 0; j < cas.size(); j++) {
           try {
-            images.add(new MapillaryImage(keys.getString(j), coords
-                    .getJsonArray(j).getJsonNumber(1).doubleValue(), coords
-                    .getJsonArray(j).getJsonNumber(0).doubleValue(), cas
-                    .getJsonNumber(j).doubleValue()));
+            images.add(new MapillaryImage(
+                keys.getString(j),
+                new LatLon(
+                    coords.getJsonArray(j).getJsonNumber(1).doubleValue(),
+                    coords.getJsonArray(j).getJsonNumber(0).doubleValue()
+                ),
+                cas.getJsonNumber(j).doubleValue()));
           } catch (IndexOutOfBoundsException e) {
             Main.warn("Mapillary bug at " + MapillaryURL.searchSequenceURL(bounds, page));
Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/utils/MapillaryUtils.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/utils/MapillaryUtils.java	(revision 31989)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/utils/MapillaryUtils.java	(revision 32033)
@@ -280,7 +280,7 @@
         caValue = ((RationalNumber) ca.getValue()).doubleValue();
       if (datetimeOriginal != null) {
-        return new MapillaryImportedImage(latValue, lonValue, caValue, file, datetimeOriginal.getStringValue());
-      }
-      return new MapillaryImportedImage(latValue, lonValue, caValue, file);
+        return new MapillaryImportedImage(new LatLon(latValue, lonValue), caValue, file, datetimeOriginal.getStringValue());
+      }
+      return new MapillaryImportedImage(new LatLon(latValue, lonValue), caValue, file);
     }
     throw new IllegalStateException("Invalid format.");
@@ -323,13 +323,13 @@
                       ExifTagConstants.EXIF_TAG_DATE_TIME_ORIGINAL);
       if (datetimeOriginal == null) {
-        return new MapillaryImportedImage(pos.lat(), pos.lon(), 0, file);
+        return new MapillaryImportedImage(pos, 0, file);
       }
       try {
-        return new MapillaryImportedImage(pos.lat(), pos.lon(), 0, file, datetimeOriginal.getStringValue());
+        return new MapillaryImportedImage(pos, 0, file, datetimeOriginal.getStringValue());
       } catch (ImageReadException e) {
         Main.error(e);
       }
     }
-    return new MapillaryImportedImage(pos.lat(), pos.lon(), 0, file);
+    return new MapillaryImportedImage(pos, 0, file);
   }
 
