Index: trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java	(revision 12168)
+++ trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java	(revision 12169)
@@ -90,10 +90,10 @@
     @Override
     public double lon() {
+        return lon;
+    }
+
+    @Override
+    public double lat() {
         return lat;
-    }
-
-    @Override
-    public double lat() {
-        return lon;
     }
 
Index: trunk/test/unit/org/openstreetmap/josm/data/gpx/GpxDataTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/gpx/GpxDataTest.java	(revision 12168)
+++ trunk/test/unit/org/openstreetmap/josm/data/gpx/GpxDataTest.java	(revision 12169)
@@ -326,8 +326,11 @@
 
         WayPoint closeToMiddle = data.nearestPointOnTrack(new EastNorth(10, 0), 10);
-        assertEquals(points.get(1).lat(), closeToMiddle.lat(), 1e-4);
-        assertEquals(points.get(1).lon(), closeToMiddle.lon(), 1e-4);
+        assertEquals(points.get(1), closeToMiddle);
 
         WayPoint close = data.nearestPointOnTrack(new EastNorth(5, 5), 10);
+        assertEquals(10, close.getEastNorth().east(), .01);
+        assertEquals(5, close.getEastNorth().north(), .01);
+
+        close = data.nearestPointOnTrack(new EastNorth(15, 5), 10);
         assertEquals(10, close.getEastNorth().east(), .01);
         assertEquals(5, close.getEastNorth().north(), .01);
