diff --git a/src/ice_transport.cpp b/src/ice_transport.cpp
index f4a127cd0cd1e91236d202eb67e66e71d318cf62..3d99520458cfadca5764d11512b526bfa697cb0b 100644
--- a/src/ice_transport.cpp
+++ b/src/ice_transport.cpp
@@ -1244,7 +1244,7 @@ IceTransport::send(int comp_id, const unsigned char* buf, size_t len)
           pimpl_->waitDataCv_.wait(lk);
           current_size = pimpl_->lastReadLen_[comp_id];
         }
-    } else if (status != PJ_SUCCESS) {
+    } else if (status != PJ_SUCCESS && status != PJ_EPENDING) {
         if (status == PJ_EBUSY) {
             errno = EAGAIN;
         } else {