diff --git a/client.c b/client.c
index 74dc4602..5a454ffe 100644
--- a/client.c
+++ b/client.c
@@ -553,8 +553,10 @@ static void
 client_dispatch(struct imsg *imsg, __unused void *arg)
 {
 	if (imsg == NULL) {
-		client_exitreason = CLIENT_EXIT_LOST_SERVER;
-		client_exitval = 1;
+		if (!client_exitflag) {
+			client_exitreason = CLIENT_EXIT_LOST_SERVER;
+			client_exitval = 1;
+		}
 		proc_exit(client_proc);
 		return;
 	}
diff --git a/file.c b/file.c
index 8eb4e178..8f497b38 100644
--- a/file.c
+++ b/file.c
@@ -485,7 +485,7 @@ file_write_left(struct client_files *files)
 	size_t			 left;
 	int			 waiting = 0;
 
-	RB_FOREACH (cf, client_files, files) {
+	RB_FOREACH(cf, client_files, files) {
 		if (cf->event == NULL)
 			continue;
 		left = EVBUFFER_LENGTH(cf->event->output);