diff --git a/src/transport.c b/src/transport.c
index 19efdf2..d9a38ca 100644
--- a/src/transport.c
+++ b/src/transport.c
@@ -626,7 +626,7 @@ send_existing(LIBSSH2_SESSION * session, unsigned char *data,
p->osent += rc; /* we sent away this much data */
- return PACKET_NONE;
+ return p->osent < data_len ? PACKET_EAGAIN : PACKET_NONE;
}
/*