Index: /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 2765)
+++ /trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java	(revision 2766)
@@ -12,4 +12,5 @@
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Stack;
 import java.util.TreeMap;
 import java.util.concurrent.CopyOnWriteArrayList;
@@ -381,6 +382,6 @@
     }
 
-    private LinkedList<ZoomData> zoomUndoBuffer = new LinkedList<ZoomData>();
-    private LinkedList<ZoomData> zoomRedoBuffer = new LinkedList<ZoomData>();
+    private Stack<ZoomData> zoomUndoBuffer = new Stack<ZoomData>();
+    private Stack<ZoomData> zoomRedoBuffer = new Stack<ZoomData>();
     private Date zoomTimestamp = new Date();
 
@@ -390,5 +391,5 @@
             zoomUndoBuffer.push(new ZoomData(center, scale));
             if (zoomUndoBuffer.size() > Main.pref.getInteger("zoom.undo.max", 50)) {
-                zoomUndoBuffer.poll();
+                zoomUndoBuffer.remove(0);
             }
             zoomRedoBuffer.clear();
