Index: trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java	(revision 12525)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java	(revision 12526)
@@ -142,5 +142,5 @@
         }
 
-        updateKeyModifiers(e.getModifiers());
+        updateKeyModifiers(e);
 
         Command c;
@@ -295,5 +295,5 @@
         Main.map.mapView.requestFocus();
 
-        Command c = buildDeleteCommands(e, e.getModifiers(), false);
+        Command c = buildDeleteCommands(e, e.getModifiersEx(), false);
         if (c != null) {
             Main.main.undoRedo.add(c);
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/MapMode.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/MapMode.java	(revision 12525)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/MapMode.java	(revision 12526)
@@ -150,10 +150,28 @@
     }
 
+    /**
+     * Update internal ctrl, alt, shift mask from given input event.
+     * @param e input event
+     */
     protected void updateKeyModifiers(InputEvent e) {
         updateKeyModifiersEx(e.getModifiersEx());
     }
 
+    /**
+     * Update internal ctrl, alt, shift mask from given mouse event.
+     * @param e mouse event
+     */
     protected void updateKeyModifiers(MouseEvent e) {
         updateKeyModifiersEx(e.getModifiersEx());
+    }
+
+    /**
+     * Update internal ctrl, alt, shift mask from given action event.
+     * @param e action event
+     * @since 12526
+     */
+    protected void updateKeyModifiers(ActionEvent e) {
+        // ActionEvent does not have a getModifiersEx() method like other events :(
+        updateKeyModifiersEx(mapOldModifiers(e.getModifiers()));
     }
 
@@ -181,4 +199,27 @@
     }
 
+    /**
+     * Map old (pre jdk 1.4) modifiers to extended modifiers (only for Ctrl, Alt, Shift).
+     * @param modifiers old modifiers
+     * @return extended modifiers
+     */
+    @SuppressWarnings("deprecation")
+    private static int mapOldModifiers(int modifiers) {
+        if ((modifiers & InputEvent.CTRL_MASK) != 0) {
+            modifiers |= InputEvent.CTRL_DOWN_MASK;
+        }
+        if ((modifiers & InputEvent.ALT_MASK) != 0) {
+            modifiers |= InputEvent.ALT_DOWN_MASK;
+        }
+        if ((modifiers & InputEvent.ALT_GRAPH_MASK) != 0) {
+            modifiers |= InputEvent.ALT_GRAPH_DOWN_MASK;
+        }
+        if ((modifiers & InputEvent.SHIFT_MASK) != 0) {
+            modifiers |= InputEvent.SHIFT_DOWN_MASK;
+        }
+
+        return modifiers;
+    }
+
     protected void requestFocusInMapView() {
         if (isEnabled()) {
