--- metacity-2.8.3/src/keybindings.c.hdg	2004-08-31 11:41:40.621121808 +0200
+++ metacity-2.8.3/src/keybindings.c	2004-08-31 12:08:20.003978656 +0200
@@ -2905,16 +2905,7 @@
 
   if (initial_selection != NULL)
     {
-      if (binding->mask == 0)
-        {
-          /* If no modifiers, we can't do the "hold down modifier to keep
-           * moving" thing, so we just instaswitch by one window.
-           */
-          meta_topic (META_DEBUG_FOCUS, "Activating %s due to switch/cycle windows with no modifiers\n",
-                      initial_selection->desc);
-          meta_window_activate (initial_selection, event->xkey.time);
-        }
-      else if (meta_display_begin_grab_op (display,
+      if ( (binding->mask != 0) && meta_display_begin_grab_op (display,
                                            screen,
                                            NULL,
                                            show_popup ?
@@ -2951,6 +2942,15 @@
                 meta_window_raise (initial_selection);
             }
         }
+      else
+        {
+          /* If no modifiers, we can't do the "hold down modifier to keep
+           * moving" thing, so we just instaswitch by one window.
+           */
+          meta_topic (META_DEBUG_FOCUS, "Activating %s due to switch/cycle windows with no modifiers\n",
+                      initial_selection->desc);
+          meta_window_activate (initial_selection, event->xkey.time);
+        }
     }
 }
 
