Index: trunk/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java	(revision 12777)
+++ trunk/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java	(revision 12778)
@@ -19,4 +19,5 @@
 import java.util.TreeSet;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.command.ChangeCommand;
 import org.openstreetmap.josm.command.Command;
@@ -29,5 +30,4 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.data.osm.WaySegment;
-import org.openstreetmap.josm.data.projection.Projections;
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MapView;
@@ -138,8 +138,10 @@
                 if (joinWayToNode) {
                     for (Node node : nodesInSegment) {
-                        EastNorth newPosition = Geometry.closestPointToSegment(w.getNode(segmentIndex).getEastNorth(),
-                                                                            w.getNode(segmentIndex+1).getEastNorth(),
-                                                                            node.getEastNorth());
-                        MoveCommand c = new MoveCommand(node, Projections.inverseProject(newPosition));
+                        EastNorth newPosition = Geometry.closestPointToSegment(
+                                w.getNode(segmentIndex).getEastNorth(),
+                                w.getNode(segmentIndex+1).getEastNorth(),
+                                node.getEastNorth());
+                        MoveCommand c = new MoveCommand(
+                                node, Main.getProjection().eastNorth2latlon(newPosition));
                         // Avoid moving a given node several times at the same position in case of overlapping ways
                         if (!cmds.contains(c)) {
Index: trunk/src/org/openstreetmap/josm/command/MoveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/MoveCommand.java	(revision 12777)
+++ trunk/src/org/openstreetmap/josm/command/MoveCommand.java	(revision 12778)
@@ -14,4 +14,5 @@
 import javax.swing.Icon;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -20,5 +21,4 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.visitor.AllNodesVisitor;
-import org.openstreetmap.josm.data.projection.Projections;
 import org.openstreetmap.josm.tools.ImageProvider;
 
@@ -72,5 +72,6 @@
      */
     public MoveCommand(Node node, LatLon position) {
-        this(Collections.singleton((OsmPrimitive) node), Projections.project(position).subtract(node.getEastNorth()));
+        this(Collections.singleton((OsmPrimitive) node),
+                Main.getProjection().latlon2eastNorth(position).subtract(node.getEastNorth()));
     }
 
Index: trunk/src/org/openstreetmap/josm/data/osm/Node.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Node.java	(revision 12777)
+++ trunk/src/org/openstreetmap/josm/data/osm/Node.java	(revision 12778)
@@ -16,5 +16,4 @@
 import org.openstreetmap.josm.data.osm.visitor.Visitor;
 import org.openstreetmap.josm.data.projection.Projecting;
-import org.openstreetmap.josm.data.projection.Projections;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.Utils;
@@ -142,5 +141,5 @@
             invalidateEastNorthCache();
         } else if (eastNorth != null) {
-            LatLon ll = Projections.inverseProject(eastNorth);
+            LatLon ll = Main.getProjection().eastNorth2latlon(eastNorth);
             this.lat = ll.lat();
             this.lon = ll.lon();
Index: trunk/src/org/openstreetmap/josm/data/osm/NodeData.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/NodeData.java	(revision 12777)
+++ trunk/src/org/openstreetmap/josm/data/osm/NodeData.java	(revision 12778)
@@ -2,8 +2,8 @@
 package org.openstreetmap.josm.data.osm;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.visitor.PrimitiveVisitor;
-import org.openstreetmap.josm.data.projection.Projections;
 
 /**
@@ -83,10 +83,10 @@
         // No internal caching of projected coordinates needed. In contrast to getEastNorth()
         // on Node, this method is rarely used. Caching would be overkill.
-        return Projections.project(getCoor());
+        return Main.getProjection().latlon2eastNorth(getCoor());
     }
 
     @Override
     public void setEastNorth(EastNorth eastNorth) {
-        setCoor(Projections.inverseProject(eastNorth));
+        setCoor(Main.getProjection().eastNorth2latlon(eastNorth));
     }
 
Index: trunk/src/org/openstreetmap/josm/data/projection/Projections.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 12777)
+++ trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 12778)
@@ -194,5 +194,7 @@
      * @return the corresponding east/north coordinates
      * @since 12725
-     */
+     * @deprecated use <code>Main.getProjection().latlon2eastNorth(ll)</code>
+     */
+    @Deprecated
     public static EastNorth project(ILatLon ll) {
         if (ll == null) return null;
@@ -205,5 +207,7 @@
      * @param ll the geographical point to convert (in WGS84 lat/lon)
      * @return the corresponding east/north coordinates
-     */
+     * @deprecated use <code>Main.getProjection().latlon2eastNorth(ll)</code>
+     */
+    @Deprecated
     public static EastNorth project(LatLon ll) {
         return project((ILatLon) ll);
@@ -215,5 +219,7 @@
      * @param en the geographical point to convert (in projected coordinates)
      * @return the corresponding lat/lon (WGS84)
-     */
+     * @deprecated use <code>Main.getProjection().eastNorth2latlon(en)</code>
+     */
+    @Deprecated
     public static LatLon inverseProject(EastNorth en) {
         if (en == null) return null;
Index: trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 12777)
+++ trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 12778)
@@ -53,5 +53,4 @@
 import org.openstreetmap.josm.data.projection.Projection;
 import org.openstreetmap.josm.data.projection.ProjectionChangeListener;
-import org.openstreetmap.josm.data.projection.Projections;
 import org.openstreetmap.josm.gui.help.Helpful;
 import org.openstreetmap.josm.gui.layer.NativeScaleLayer;
@@ -715,5 +714,5 @@
      */
     public void zoomTo(ILatLon newCenter) {
-        zoomTo(Projections.project(newCenter));
+        zoomTo(getProjection().latlon2eastNorth(newCenter));
     }
 
Index: trunk/src/org/openstreetmap/josm/io/session/SessionWriter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/session/SessionWriter.java	(revision 12777)
+++ trunk/src/org/openstreetmap/josm/io/session/SessionWriter.java	(revision 12778)
@@ -31,5 +31,4 @@
 import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.coor.LatLon;
-import org.openstreetmap.josm.data.projection.Projections;
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MapView;
@@ -266,5 +265,5 @@
         MapView mapView = MainApplication.getMap().mapView;
         EastNorth center = mapView.getCenter();
-        LatLon centerLL = Projections.inverseProject(center);
+        LatLon centerLL = Main.getProjection().eastNorth2latlon(center);
         centerEl.setAttribute("lat", Double.toString(centerLL.lat()));
         centerEl.setAttribute("lon", Double.toString(centerLL.lon()));
