Index: dropbear-0.50/common-channel.c =================================================================== --- dropbear-0.50.orig/common-channel.c 2007-08-10 23:47:47.000000000 +0200 +++ dropbear-0.50/common-channel.c 2007-08-10 23:47:50.000000000 +0200 @@ -311,10 +311,10 @@ send_msg_channel_eof(channel); } - /* And if we can't receive any more data from them either, close up */ + /* And if we can't receive any more data from them either, close up (server only) */ if (!channel->sent_close && channel->readfd == FD_CLOSED - && (ERRFD_IS_WRITE(channel) || channel->errfd == FD_CLOSED) + && !ERRFD_IS_WRITE(channel) && !write_pending(channel)) { TRACE(("sending close, readfd is closed")) send_msg_channel_close(channel);