diff --git a/common-session.c b/common-session.c
index 36635340619d2d2d61d05a296a516ef89fc76227..1348da2612f06fd1bf480e3cf27e97bc7da5743a 100644
--- a/common-session.c
+++ b/common-session.c
@@ -71,6 +71,9 @@ void common_session_init(int sock_in, int sock_out, char* remotehost) {
 	}
 	setnonblocking(ses.signal_pipe[0]);
 	setnonblocking(ses.signal_pipe[1]);
+
+	ses.maxfd = MAX(ses.maxfd, ses.signal_pipe[0]);
+	ses.maxfd = MAX(ses.maxfd, ses.signal_pipe[1]);
 	
 	kexfirstinitialise(); /* initialise the kex state */