Index: src/org/openstreetmap/josm/data/osm/visitor/BoundingXYVisitor.java
===================================================================
--- src/org/openstreetmap/josm/data/osm/visitor/BoundingXYVisitor.java	(revision 14722)
+++ src/org/openstreetmap/josm/data/osm/visitor/BoundingXYVisitor.java	(working copy)
@@ -27,7 +27,7 @@
  * @author imi
  */
 public class BoundingXYVisitor implements OsmPrimitiveVisitor, PrimitiveVisitor {
-
+    private static final double ENLARGE = 0.0002;
     private ProjectionBounds bounds;
 
     @Override
@@ -144,7 +144,7 @@
      * equal <code>null</code>) this method does not do anything.
      */
     public void enlargeBoundingBox() {
-        final double enlarge = Config.getPref().getDouble("edit.zoom-enlarge-bbox", 0.001);
+        final double enlarge = Config.getPref().getDouble("edit.zoom-enlarge-bbox", ENLARGE);
         enlargeBoundingBox(enlarge, enlarge);
     }
 
@@ -187,12 +187,15 @@
         final LatLon max = ProjectionRegistry.getProjection().eastNorth2latlon(bounds.getMax());
         final double deltaLat = max.lat() - min.lat();
         final double deltaLon = max.lon() - min.lon();
-        // [0.001, 0.1] degree -> [0.001, 0.0] degree enlargement
-        final DoubleUnaryOperator enlargement = deg -> deg < 0.001
-                ? 0.001
-                : deg < 0.1
-                ? 0.001 - deg / 100
-                : 0.0;
+        final double enlarge = Config.getPref().getDouble("edit.zoom-enlarge-bbox", ENLARGE);
+
+        final DoubleUnaryOperator enlargement = deltaDegress -> {
+            if (deltaDegress < enlarge)
+                return enlarge;
+            if (deltaDegress < 0.1)
+                return enlarge - deltaDegress / 100;
+            return 0.0;
+        };
         enlargeBoundingBox(enlargement.applyAsDouble(deltaLon), enlargement.applyAsDouble(deltaLat));
     }
 
