Index: src/core/display.c
===================================================================
--- src/core/display.c	(revision 3500)
+++ src/core/display.c	(working copy)
@@ -4900,8 +4900,11 @@
       while (tmp != NULL)
         {
           MetaWindow *w = tmp->data;
-          meta_display_grab_focus_window_button (display, w);
-          meta_display_grab_window_buttons (display, w->xwindow);
+          if (w->type != META_WINDOW_DOCK)
+            {
+              meta_display_grab_focus_window_button (display, w);
+              meta_display_grab_window_buttons (display, w->xwindow);
+            }
           tmp = tmp->next;
         }
 
Index: src/core/window.c
===================================================================
--- src/core/window.c	(revision 3500)
+++ src/core/window.c	(working copy)
@@ -646,8 +646,11 @@
     meta_window_ensure_frame (window);
 
   meta_window_grab_keys (window);
-  meta_display_grab_window_buttons (window->display, window->xwindow);
-  meta_display_grab_focus_window_button (window->display, window);
+  if (window->type != META_WINDOW_DOCK)
+    {
+      meta_display_grab_window_buttons (window->display, window->xwindow);
+      meta_display_grab_focus_window_button (window->display, window);
+    }
 
   if (window->type == META_WINDOW_DESKTOP ||
       window->type == META_WINDOW_DOCK)
