Index: src/core/session.c
===================================================================
--- src/core/session.c	(revision 4398)
+++ src/core/session.c	(working copy)
@@ -18,6 +18,7 @@
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
+#include "core.h"
 #include "module.h"
 #include "signals.h"
 #include "commands.h"
@@ -337,6 +338,8 @@ static void sig_session_save(CONFIG_REC 
 	for (tmp = pidwait_get_pids(); tmp != NULL; tmp = tmp->next)
                 g_string_sprintfa(str, "%d ", GPOINTER_TO_INT(tmp->data));
         config_node_set_str(config, config->mainnode, "pids", str->str);
+	g_string_sprintf(str, "%ld", client_start_time);
+	config_node_set_str(config, config->mainnode, "time", str->str);
         g_string_free(str, TRUE);
 }
 
@@ -345,6 +348,7 @@ static void sig_session_restore(CONFIG_R
 	CONFIG_NODE *node;
         GSList *tmp;
         char **pids, **pid;
+	char *str;
 
         /* restore servers */
 	node = config_node_traverse(config, "(servers", FALSE);
@@ -354,6 +358,8 @@ static void sig_session_restore(CONFIG_R
 			session_restore_server(tmp->data);
 	}
 
+	str = config_node_get_str(config->mainnode, "time", NULL);
+	if (str) client_start_time = strtol(str, NULL, 10);
 	/* restore pids (so we don't leave zombies) */
 	pids = g_strsplit(config_node_get_str(config->mainnode, "pids", ""), " ", -1);
 	for (pid = pids; *pid != NULL; pid++)
