Index: trunk/src/org/openstreetmap/josm/data/projection/proj/AbstractProj.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/proj/AbstractProj.java	(revision 9114)
+++ trunk/src/org/openstreetmap/josm/data/projection/proj/AbstractProj.java	(revision 9116)
@@ -121,3 +121,16 @@
     }
 
+    public static double normalizeLon(double lon) {
+        if (lon >= - Math.PI && lon <= Math.PI)
+            return lon;
+        else {
+            lon = lon % (2 * Math.PI);
+            if (lon > Math.PI) {
+                return lon - 2 * Math.PI;
+            } else if (lon < -Math.PI) {
+                return lon + 2 * Math.PI;
+            }
+            return lon;
+        }
+    }
 }
Index: trunk/src/org/openstreetmap/josm/data/projection/proj/LambertConformalConic.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/proj/LambertConformalConic.java	(revision 9114)
+++ trunk/src/org/openstreetmap/josm/data/projection/proj/LambertConformalConic.java	(revision 9116)
@@ -24,5 +24,5 @@
  * @author Pieren
  */
-public class LambertConformalConic implements Proj {
+public class LambertConformalConic extends AbstractProj {
 
     protected Ellipsoid ellps;
@@ -154,4 +154,5 @@
     @Override
     public double[] project(double phi, double lambda) {
+        lambda = normalizeLon(lambda);
         double sinphi = sin(phi);
         double l = (0.5*log((1+sinphi)/(1-sinphi))) - e/2*log((1+e*sinphi)/(1-e*sinphi));
Index: trunk/src/org/openstreetmap/josm/data/projection/proj/TransverseMercator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/proj/TransverseMercator.java	(revision 9114)
+++ trunk/src/org/openstreetmap/josm/data/projection/proj/TransverseMercator.java	(revision 9116)
@@ -125,4 +125,5 @@
     @Override
     public double[] project(double y, double x) {
+        x = normalizeLon(x);
         double sinphi = Math.sin(y);
         double cosphi = Math.cos(y);
