--- gnome-session-2.26.1.orig/gnome-session/gsm-xsmp-client.c
+++ gnome-session-2.26.1/gnome-session/gsm-xsmp-client.c
@@ -1203,13 +1203,18 @@
         g_debug ("GsmXSMPClient: Client '%s' received SaveYourselfPhase2Request",
                  client->priv->description);
 
-        client->priv->current_save_yourself = -1;
-
-        /* this is a valid response to SaveYourself and therefore
-           may be a response to a QES or ES */
-        gsm_client_end_session_response (GSM_CLIENT (client),
-                                         TRUE, TRUE, FALSE,
-                                         NULL);
+        if (client->priv->current_save_yourself == SmSaveLocal) {
+                /* no other clients involved; proceed straight to phase 2 */
+                xsmp_save_yourself_phase2 (client);
+        } else {
+                client->priv->current_save_yourself = -1;
+
+                /* this is a valid response to SaveYourself and therefore
+                   may be a response to a QES or ES */
+                gsm_client_end_session_response (GSM_CLIENT (client),
+                                                 TRUE, TRUE, FALSE,
+                                                 NULL);
+        }
 }
 
 static void
