error -> fatal
diff --git a/session.c b/session.c
index 0026523..8928108 100644
--- a/session.c
+++ b/session.c
@@ -1609,8 +1609,8 @@
 	} else {
 		/* notify child, delay session cleanup */
 		if (s->pid <= 1) 
-			error("session_close_by_channel: Unsafe s->pid = %d", s->pid);
-		else if (kill(s->pid, (s->ttyfd == -1) ? SIGTERM : SIGHUP) < 0)
+			fatal("session_close_by_channel: Unsafe s->pid = %d", s->pid);
+		if (kill(s->pid, (s->ttyfd == -1) ? SIGTERM : SIGHUP) < 0)
 			error("session_close_by_channel: kill %d: %s",
 			    s->pid, strerror(errno));
 	}