diff -Nru josm-0/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java josm-0.metadata-extractor2.7.4/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java
--- josm-0/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	2015-01-23 01:21:21.000000000 +0100
+++ josm-0.metadata-extractor2.7.4/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	2015-02-24 03:32:25.310293483 +0100
@@ -614,8 +614,8 @@
         }
 
         try {
-            double speed = dirGps.getDouble(GpsDirectory.TAG_GPS_SPEED);
-            String speedRef = dirGps.getString(GpsDirectory.TAG_GPS_SPEED_REF);
+            double speed = dirGps.getDouble(GpsDirectory.TAG_SPEED);
+            String speedRef = dirGps.getString(GpsDirectory.TAG_SPEED_REF);
             if (speedRef != null) {
                 if (speedRef.equalsIgnoreCase("M")) {
                     // miles per hour
@@ -632,8 +632,8 @@
         }
 
         try {
-            double ele = dirGps.getDouble(GpsDirectory.TAG_GPS_ALTITUDE);
-            int d = dirGps.getInt(GpsDirectory.TAG_GPS_ALTITUDE_REF);
+            double ele = dirGps.getDouble(GpsDirectory.TAG_ALTITUDE);
+            int d = dirGps.getInt(GpsDirectory.TAG_ALTITUDE_REF);
             if (d == 1) {
                 ele *= -1;
             }
@@ -666,7 +666,7 @@
         // 1) GPS_TIME_STAMP not set -> date/time will be null
         // 2) GPS_DATE_STAMP not set -> use EXIF date or set to default
         // 3) GPS_TIME_STAMP and GPS_DATE_STAMP are set
-        int[] timeStampComps = dirGps.getIntArray(GpsDirectory.TAG_GPS_TIME_STAMP);
+        int[] timeStampComps = dirGps.getIntArray(GpsDirectory.TAG_TIME_STAMP);
         if (timeStampComps != null) {
             int gpsHour = timeStampComps[0];
             int gpsMin = timeStampComps[1];
@@ -675,7 +675,7 @@
 
             // We have the time. Next step is to check if the GPS date stamp is set.
             // dirGps.getString() always succeeds, but the return value might be null.
-            String dateStampStr = dirGps.getString(GpsDirectory.TAG_GPS_DATE_STAMP);
+            String dateStampStr = dirGps.getString(GpsDirectory.TAG_DATE_STAMP);
             if (dateStampStr != null && dateStampStr.matches("^\\d+:\\d+:\\d+$")) {
                 String[] dateStampComps = dateStampStr.split(":");
                 cal.set(Calendar.YEAR, Integer.parseInt(dateStampComps[0]));
diff -Nru josm-0/src/org/openstreetmap/josm/tools/ExifReader.java josm-0.metadata-extractor2.7.4/src/org/openstreetmap/josm/tools/ExifReader.java
--- josm-0/src/org/openstreetmap/josm/tools/ExifReader.java	2015-01-11 20:03:18.000000000 +0100
+++ josm-0.metadata-extractor2.7.4/src/org/openstreetmap/josm/tools/ExifReader.java	2015-02-24 03:32:25.331292269 +0100
@@ -124,8 +124,8 @@
      */
     public static LatLon readLatLon(GpsDirectory dirGps) throws MetadataException {
         if (dirGps != null) {
-            double lat = readAxis(dirGps, GpsDirectory.TAG_GPS_LATITUDE, GpsDirectory.TAG_GPS_LATITUDE_REF, 'S');
-            double lon = readAxis(dirGps, GpsDirectory.TAG_GPS_LONGITUDE, GpsDirectory.TAG_GPS_LONGITUDE_REF, 'W');
+            double lat = readAxis(dirGps, GpsDirectory.TAG_LATITUDE, GpsDirectory.TAG_LATITUDE_REF, 'S');
+            double lon = readAxis(dirGps, GpsDirectory.TAG_LONGITUDE, GpsDirectory.TAG_LONGITUDE_REF, 'W');
             return new LatLon(lat, lon);
         }
         return null;
@@ -158,7 +158,7 @@
      */
     public static Double readDirection(GpsDirectory dirGps) {
         if (dirGps != null) {
-            Rational direction = dirGps.getRational(GpsDirectory.TAG_GPS_IMG_DIRECTION);
+            Rational direction = dirGps.getRational(GpsDirectory.TAG_IMG_DIRECTION);
             if (direction != null) {
                 return direction.doubleValue();
             }
