diff --git a/cli-session.c b/cli-session.c
index d5ff02d01f123f9122571f97d201685aa38dd948..ecefe46a0553d0e3d8431dc6ef6062c67a163766 100644
--- a/cli-session.c
+++ b/cli-session.c
@@ -73,6 +73,8 @@ static const packettype cli_packettypes[] = {
 #ifdef  ENABLE_CLI_REMOTETCPFWD
 	{SSH_MSG_REQUEST_SUCCESS, cli_recv_msg_request_success}, /* client */
 	{SSH_MSG_REQUEST_FAILURE, cli_recv_msg_request_failure}, /* client */
+#else
+	{SSH_MSG_REQUEST_FAILURE, ignore_recv_msg_request_failure}, /* for keepalive */
 #endif
 	{0, 0} /* End */
 };
diff --git a/common-session.c b/common-session.c
index cebd7877dd5dff2f61c308d61bf6c83a5dda0154..ee5f1e962bf0e9c4605912b96ff6c7ca12a9cd1a 100644
--- a/common-session.c
+++ b/common-session.c
@@ -394,6 +394,11 @@ static int ident_readln(int fd, char* buf, int count) {
 	return pos+1;
 }
 
+void ignore_recv_msg_request_failure() {
+	// Do nothing
+	TRACE(("Ignored msg_request_failure"))
+}
+
 static void send_msg_keepalive() {
 	CHECKCLEARTOWRITE();
 	time_t old_time_idle = ses.last_packet_time_idle;
diff --git a/session.h b/session.h
index b09fa44818d496ed7061fc96e910c92347868b20..5d555faf3ee7d9fab5d0da13d679ea9b40b5866e 100644
--- a/session.h
+++ b/session.h
@@ -47,6 +47,7 @@ void session_loop(void(*loophandler)());
 void session_cleanup();
 void send_session_identification();
 void send_msg_ignore();
+void ignore_recv_msg_request_failure();
 
 void update_channel_prio();
 
diff --git a/svr-session.c b/svr-session.c
index 4d3c058a1c503273b4500f2c6f05a1e3cae82807..74a7b16c16267345252f829270344dd31e43e533 100644
--- a/svr-session.c
+++ b/svr-session.c
@@ -58,6 +58,7 @@ static const packettype svr_packettypes[] = {
 	{SSH_MSG_CHANNEL_OPEN, recv_msg_channel_open},
 	{SSH_MSG_CHANNEL_EOF, recv_msg_channel_eof},
 	{SSH_MSG_CHANNEL_CLOSE, recv_msg_channel_close},
+	{SSH_MSG_REQUEST_FAILURE, ignore_recv_msg_request_failure}, /* for keepalive */
 #ifdef USING_LISTENERS
 	{SSH_MSG_CHANNEL_OPEN_CONFIRMATION, recv_msg_channel_open_confirmation},
 	{SSH_MSG_CHANNEL_OPEN_FAILURE, recv_msg_channel_open_failure},