Index: prefs.c
===================================================================
RCS file: /cvs/gnome/metacity/src/prefs.c,v
retrieving revision 1.59
diff -u -p -r1.59 prefs.c
--- prefs.c	24 Jan 2006 01:07:41 -0000	1.59
+++ prefs.c	11 Feb 2006 22:51:00 -0000
@@ -2004,6 +2004,22 @@ update_binding (MetaKeyPref *binding,
                         value, binding->name);
         }
     }
+
+  /* Bug 329676: Bindings which can be shifted must have either ALT or CTRL
+   * as modifiers.
+   */
+
+  if (binding->add_shift &&
+      0 != keysym &&
+      !(mods & META_VIRTUAL_ALT_MASK) && 
+      !(mods & META_VIRTUAL_CONTROL_MASK))
+    {
+      meta_warning("Cannot bind \"%s\" to %s: it must use Ctrl or Alt. Disabling.\n",
+                   binding->name,
+                   value);
+      keysym = 0;
+      mods = 0;
+    }
   
   changed = FALSE;
   if (keysym != binding->keysym ||
