Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java	(revision 10315)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java	(revision 10316)
@@ -236,10 +236,5 @@
                         dlg.setPreferredSize(new Dimension(Integer.MAX_VALUE, hn));
                     } else {
-                        int d;
-                        try {
-                            d = (h0-he) * dm / dp;
-                        } catch (ArithmeticException e) { /* D_p may be zero - nothing wrong with that. */
-                            d = 0;
-                        }
+                        int d = dp == 0 ? 0 : ((h0-he) * dm / dp);
                         dlg.setPreferredSize(new Dimension(Integer.MAX_VALUE, h0 - d));
                     }
Index: /trunk/src/org/openstreetmap/josm/tools/GeoPropertyIndex.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/GeoPropertyIndex.java	(revision 10315)
+++ /trunk/src/org/openstreetmap/josm/tools/GeoPropertyIndex.java	(revision 10316)
@@ -73,5 +73,5 @@
 
     public static int index(LatLon ll, int level) {
-        long noParts = 1 << level;
+        long noParts = 1L << level;
         long x = ((long) ((ll.lon() + 180.0) * noParts / 360.0)) & 1;
         long y = ((long) ((ll.lat() + 90.0) * noParts / 180.0)) & 1;
