Index: /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 2759)
+++ /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 2760)
@@ -387,6 +387,9 @@
     private void pushZoomUndo(EastNorth center, double scale) {
         Date now = new Date();
-        if ((now.getTime() - zoomTimestamp.getTime()) > (Main.pref.getDouble("zoom.delay", 1.0) * 1000)) {
+        if ((now.getTime() - zoomTimestamp.getTime()) > (Main.pref.getDouble("zoom.undo.delay", 1.0) * 1000)) {
             zoomUndoBuffer.push(new ZoomData(center, scale));
+            if (zoomUndoBuffer.size() > Main.pref.getInteger("zoom.undo.max", 50)) {
+                zoomUndoBuffer.poll();
+            }
             zoomRedoBuffer.clear();
         }
