Index: /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 15595)
+++ /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 15596)
@@ -741,8 +741,8 @@
         private final EastNorth oldCenter = getCenter();
         private final EastNorth finalNewCenter;
-        private final double frames;
+        private final long frames;
         private final long sleepTime;
 
-        SmoothScrollThread(EastNorth newCenter, double frameNum, int fps) {
+        SmoothScrollThread(EastNorth newCenter, long frameNum, int fps) {
             super("smooth-scroller");
             finalNewCenter = newCenter;
@@ -755,5 +755,5 @@
             try {
                 for (int i = 0; i < frames && !doStop; i++) {
-                    zoomTo(oldCenter.interpolate(finalNewCenter, (i+1) / frames));
+                    zoomTo(oldCenter.interpolate(finalNewCenter, (1.0+i) / frames));
                     Thread.sleep(sleepTime);
                 }
@@ -799,5 +799,9 @@
                 zoomTo(newCenter);
             } else {
-                new SmoothScrollThread(newCenter, milliseconds * fps / 1000, fps).start();
+                long frames = Math.round(milliseconds * fps / 1000);
+                if(frames < 1)
+                    zoomTo(newCenter);
+                else
+                    new SmoothScrollThread(newCenter, frames, fps).start();
             }
         }
