Index: trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 747)
+++ trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 748)
@@ -54,7 +54,7 @@
 		// Get average position of all nodes
 		Node avn = new Node(new LatLon(0,0));
+		avn.eastNorth = new EastNorth(0,0);
 		for (Node n : nodes) {
 			avn.eastNorth = new EastNorth(avn.eastNorth.east()+n.eastNorth.east(), avn.eastNorth.north()+n.eastNorth.north());
-			avn.coor = Main.proj.eastNorth2latlon(avn.eastNorth);
 		}
 		avn.eastNorth = new EastNorth(avn.eastNorth.east()/nodes.size(), avn.eastNorth.north()/nodes.size());
Index: trunk/src/org/openstreetmap/josm/command/RotateCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/RotateCommand.java	(revision 747)
+++ trunk/src/org/openstreetmap/josm/command/RotateCommand.java	(revision 748)
@@ -63,5 +63,6 @@
 		this.objects = AllNodesVisitor.getAllNodes(objects);
 		pivot = new Node(new LatLon(0,0));
-			
+		pivot.eastNorth = new EastNorth(0,0);
+
 		for (Node n : this.objects) {
 			MoveCommand.OldState os = new MoveCommand.OldState();
@@ -71,8 +72,7 @@
 			oldState.put(n, os);
 			pivot.eastNorth = new EastNorth(pivot.eastNorth.east()+os.eastNorth.east(), pivot.eastNorth.north()+os.eastNorth.north());
-			pivot.coor = Main.proj.eastNorth2latlon(pivot.eastNorth);
 		}
 		pivot.eastNorth = new EastNorth(pivot.eastNorth.east()/this.objects.size(), pivot.eastNorth.north()/this.objects.size());
-		pivot.coor = Main.proj.eastNorth2latlon(pivot.eastNorth);	
+		pivot.coor = Main.proj.eastNorth2latlon(pivot.eastNorth);
 
 		rotationAngle = Math.PI/2;
@@ -89,8 +89,8 @@
 		startAngle = Math.atan2(start.east()-pivot.eastNorth.east(), start.north()-pivot.eastNorth.north());
 		double endAngle = Math.atan2(end.east()-pivot.eastNorth.east(), end.north()-pivot.eastNorth.north());
-		rotationAngle += startAngle - endAngle;		
+		rotationAngle += startAngle - endAngle;
 		rotateNodes(false);
 	}
-	
+
 	/**
 	 * Helper for actually rotationg the nodes.
Index: trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java	(revision 747)
+++ trunk/src/org/openstreetmap/josm/data/gpx/WayPoint.java	(revision 748)
@@ -13,6 +13,6 @@
 import org.openstreetmap.josm.data.coor.LatLon;
 
-public class WayPoint extends WithAttributes implements Comparable{
-	
+public class WayPoint extends WithAttributes implements Comparable<WayPoint>
+{
 	public final LatLon latlon;
 	public final EastNorth eastNorth;
@@ -23,5 +23,5 @@
 
 	public WayPoint(LatLon ll) {
-		latlon = ll; 
+		latlon = ll;
 		eastNorth = Main.proj.latlon2eastNorth(ll);
 	}
@@ -49,10 +49,7 @@
 	}
 
-    public int compareTo(Object other){
-        if(other instanceof WayPoint){
-            WayPoint w = (WayPoint)other;
-            return (int)time - (int)w.time;
-        }
-        return 0;
-    }
+	public int compareTo(WayPoint w)
+	{
+		return Double.compare(time, w.time);
+	}
 }
