Index: trunk/src/org/openstreetmap/josm/gui/history/NodeListViewer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/NodeListViewer.java	(revision 11518)
+++ trunk/src/org/openstreetmap/josm/gui/history/NodeListViewer.java	(revision 11519)
@@ -20,5 +20,4 @@
 import javax.swing.event.TableModelEvent;
 import javax.swing.event.TableModelListener;
-import javax.swing.table.TableModel;
 
 import org.openstreetmap.josm.Main;
@@ -318,7 +317,6 @@
     }
 
-    private static PrimitiveId primitiveIdAtRow(TableModel model, int row) {
-        DiffTableModel castedModel = (DiffTableModel) model;
-        Long id = (Long) castedModel.getValueAt(row, 0).value;
+    private static PrimitiveId primitiveIdAtRow(DiffTableModel model, int row) {
+        Long id = (Long) model.getValueAt(row, 0).value;
         return id == null ? null : new SimplePrimitiveId(id, OsmPrimitiveType.NODE);
     }
@@ -332,5 +330,5 @@
         protected int checkTableSelection(JTable table, Point p) {
             int row = super.checkTableSelection(table, p);
-            popupMenu.prepare(primitiveIdAtRow(table.getModel(), row));
+            popupMenu.prepare(primitiveIdAtRow((DiffTableModel) table.getModel(), row));
             return row;
         }
@@ -353,5 +351,5 @@
             if (row <= 0)
                 return;
-            PrimitiveId pid = primitiveIdAtRow(table.getModel(), row);
+            PrimitiveId pid = primitiveIdAtRow((DiffTableModel) table.getModel(), row);
             if (pid == null || pid.isNew())
                 return;
Index: trunk/src/org/openstreetmap/josm/gui/layer/JumpToMarkerActions.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/JumpToMarkerActions.java	(revision 11518)
+++ trunk/src/org/openstreetmap/josm/gui/layer/JumpToMarkerActions.java	(revision 11519)
@@ -45,10 +45,10 @@
     private abstract static class JumpToMarker extends AbstractAction implements MultikeyShortcutAction {
 
-        private final transient Layer layer;
+        private final transient JumpToMarkerLayer layer;
         private final transient Shortcut multikeyShortcut;
         private transient WeakReference<Layer> lastLayer;
 
         JumpToMarker(JumpToMarkerLayer layer, Shortcut shortcut) {
-            this.layer = (Layer) layer;
+            this.layer = layer;
             this.multikeyShortcut = shortcut;
             this.multikeyShortcut.setAccelerator(this);
@@ -74,15 +74,15 @@
             if (l != null) {
                 if (l instanceof JumpToMarkerLayer) {
-                    execute(l);
+                    execute((JumpToMarkerLayer) l);
                 }
             } else if (repeat && lastLayer != null) {
                 l = lastLayer.get();
-                if (LayerListDialog.isLayerValid(l)) {
-                    execute(l);
+                if (LayerListDialog.isLayerValid(l) && l instanceof JumpToMarkerLayer) {
+                    execute((JumpToMarkerLayer) l);
                 }
             }
         }
 
-        protected abstract void execute(Layer l);
+        protected abstract void execute(JumpToMarkerLayer l);
 
         @Override
@@ -110,7 +110,7 @@
 
         @Override
-        protected void execute(Layer l) {
-            ((JumpToMarkerLayer) l).jumpToNextMarker();
-            setLastLayer(l);
+        protected void execute(JumpToMarkerLayer l) {
+            l.jumpToNextMarker();
+            setLastLayer((Layer) l);
         }
     }
@@ -126,7 +126,7 @@
 
         @Override
-        protected void execute(Layer l) {
-            ((JumpToMarkerLayer) l).jumpToPreviousMarker();
-            setLastLayer(l);
+        protected void execute(JumpToMarkerLayer l) {
+            l.jumpToPreviousMarker();
+            setLastLayer((Layer) l);
         }
     }
