--- src/core.c-ORIGINAL	2004-09-04 17:39:47.000000000 -0700
+++ src/core.c	2004-09-06 14:10:09.000000000 -0700
@@ -249,6 +249,18 @@ meta_core_user_lower (Display *xdisplay,
     meta_bug ("No such frame window 0x%lx!\n", frame_xwindow);
   
   meta_window_lower (window);
+
+  if (meta_prefs_get_focus_mode () == META_FOCUS_MODE_CLICK)
+    {
+      /* move this window to the end of the mru list */
+      window->screen->active_workspace->mru_list =
+	g_list_remove(window->screen->active_workspace->mru_list, window);
+      window->screen->active_workspace->mru_list =
+	g_list_append(window->screen->active_workspace->mru_list, window);
+
+      /* focus on the (new) topmost window */
+      meta_workspace_focus_default_window(window->screen->active_workspace, window);
+    }
 }
 
 void
