Index: window.c
===================================================================
RCS file: /cvs/gnome/metacity/src/window.c,v
retrieving revision 1.294
diff -p -u -r1.294 window.c
--- window.c	21 Aug 2003 04:32:21 -0000	1.294
+++ window.c	18 Sep 2003 05:17:15 -0000
@@ -3209,7 +3209,7 @@ meta_window_stick (MetaWindow  *window)
     {
       workspace = (MetaWorkspace *) tmp->data;
       if (!g_list_find (workspace->mru_list, window))
-          g_list_append (workspace->mru_list, window);
+          workspace->mru_list = g_list_append (workspace->mru_list, window);
 
       tmp = tmp->next;
     }
@@ -3238,7 +3238,7 @@ meta_window_unstick (MetaWindow  *window
     {
       workspace = (MetaWorkspace *) tmp->data;
       if (!meta_workspace_contains_window (workspace, window))
-          g_list_remove (workspace->mru_list, window);
+           workspace->mru_list = g_list_remove (workspace->mru_list, window);
       tmp = tmp->next;
     }
 
Index: workspace.c
===================================================================
RCS file: /cvs/gnome/metacity/src/workspace.c,v
retrieving revision 1.46
diff -p -u -r1.46 workspace.c
--- workspace.c	15 Aug 2003 22:09:55 -0000	1.46
+++ workspace.c	18 Sep 2003 05:17:16 -0000
@@ -114,7 +114,8 @@ meta_workspace_add_window (MetaWorkspace
   workspace->windows = g_list_prepend (workspace->windows, window);
   window->workspaces = g_list_prepend (window->workspaces, workspace);
 
-  workspace->mru_list = g_list_append (workspace->mru_list, window);
+  if (!g_list_find (workspace->mru_list, window))
+    workspace->mru_list = g_list_append (workspace->mru_list, window);
 
   meta_window_set_current_workspace_hint (window);
   
