diff --git a/tests/test_hwm.cpp b/tests/test_hwm.cpp
index ac81cdcb9c2a2ed8ea98f8cc32920e2136ad5f33..b5394b06d44d301f0dbc1261fb1c0cc3cdc31375 100644
--- a/tests/test_hwm.cpp
+++ b/tests/test_hwm.cpp
@@ -99,6 +99,10 @@ int count_msg (int send_hwm_, int recv_hwm_, TestType test_type_)
         TEST_ASSERT_SUCCESS_ERRNO (zmq_setsockopt (
           connect_socket, ZMQ_SNDHWM, &send_hwm_, sizeof (send_hwm_)));
         TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (connect_socket, "inproc://a"));
+
+        //  we must wait for the connect to succeed here, unfortunately we don't
+        //  have monitoring events for inproc, so we just hope SETTLE_TIME suffices
+        msleep (SETTLE_TIME);
     } else {
         // Set up connect socket
         connect_socket = test_context_socket (ZMQ_PUSH);