Index: src/core/window.c
===================================================================
--- src/core/window.c	(revision 3922)
+++ src/core/window.c	(working copy)
@@ -480,6 +480,7 @@
     meta_topic (META_DEBUG_PLACEMENT,
                 "Not placing window 0x%lx since it's already mapped\n",
                 xwindow);
+  window->force_save_user_window_placement = !window->placed;
   window->denied_focus_and_not_transient = FALSE;
   window->unmanaging = FALSE;
   window->is_in_queues = 0;
@@ -2519,6 +2520,8 @@
     window->maximized_horizontally || maximize_horizontally;
   window->maximized_vertically = 
     window->maximized_vertically   || maximize_vertically;
+  if (maximize_horizontally || maximize_vertically)
+    window->force_save_user_window_placement = 0;
 
   /* Fix for #336850: If the frame shape isn't reapplied, it is
    * possible that the frame will retains its rounded corners. That
@@ -3538,7 +3541,7 @@
   if (need_configure_notify)
     send_configure_notify (window);
 
-  if (!window->placed)
+  if (window->force_save_user_window_placement)
     force_save_user_window_placement (window);
   else if (is_user_action)
     save_user_window_placement (window);
Index: src/core/window-private.h
===================================================================
--- src/core/window-private.h	(revision 3922)
+++ src/core/window-private.h	(working copy)
@@ -241,6 +241,9 @@
   /* Have we placed this window? */
   guint placed : 1;
 
+  /* Must we force_save_user_window_placement? */
+  guint force_save_user_window_placement : 1;
+
   /* Is this not a transient of the focus window which is being denied focus? */
   guint denied_focus_and_not_transient : 1;
 
