Index: trunk/src/org/openstreetmap/josm/data/projection/proj/SwissObliqueMercator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/proj/SwissObliqueMercator.java	(revision 9578)
+++ trunk/src/org/openstreetmap/josm/data/projection/proj/SwissObliqueMercator.java	(revision 9579)
@@ -43,4 +43,5 @@
     private double b0;
     private double k;
+    private double phi0;
 
     private static final double EPSILON = 1e-11;
@@ -55,5 +56,5 @@
 
     private void initialize(double lat_0) {
-        double phi0 = toRadians(lat_0);
+        phi0 = toRadians(lat_0);
         kR = sqrt(1 - ellps.e2) / (1 - (ellps.e2 * pow(sin(phi0), 2)));
         alpha = sqrt(1 + (ellps.eb2 * pow(cos(phi0), 4)));
@@ -118,5 +119,9 @@
     @Override
     public Bounds getAlgorithmBounds() {
-        return new Bounds(-85, -179, 85, 179, false);
+        if (phi0 > 0) {
+            return new Bounds(-10, -40, 85, 40, false);
+        } else {
+            return new Bounds(-85, -40, 10, 40, false);
+        }
     }
 }
