diff --git a/src/transport/test.c b/src/transport/test.c
index 0f35ffc..dad8690 100644
--- a/src/transport/test.c
+++ b/src/transport/test.c
@@ -1,8 +1,12 @@
+/* NOLINTNEXTLINE(bugprone-reserved-identifier,cert-dcl37-c,cert-dcl51-cpp) */
+#define _GNU_SOURCE
+#include "array.h"
 #include "container-of.h"
 #include "transport.h"
 #include "test.h"
 
 #include <errno.h>
+#include <poll.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -59,15 +63,28 @@
 		test->cursor++;
 	} else if (desc->type == PLDM_TRANSPORT_TEST_ELEMENT_MSG_RECV) {
 		/* Expire the timer immediately so it appears ready */
+		static const struct timespec ensure_ready = {
+			.tv_sec = 0,
+			.tv_nsec = 2,
+		};
 		static const struct itimerspec ready = {
 			.it_value = { 0, 1 },
 			.it_interval = { 0, 0 },
 		};
+		struct pollfd pfds[] = {
+			{ .fd = test->timerfd, .events = POLLIN },
+		};
+
 		rc = timerfd_settime(test->timerfd, 0, &ready, NULL);
 		if (rc < 0) {
 			return PLDM_REQUESTER_POLL_FAIL;
 		}
 
+		rc = ppoll(pfds, ARRAY_SIZE(pfds), &ensure_ready, NULL);
+		if (rc < 1) {
+			return PLDM_REQUESTER_POLL_FAIL;
+		}
+
 		/* Don't increment test->cursor as recv needs to consume the current test element */
 	} else {
 		return PLDM_REQUESTER_POLL_FAIL;
diff --git a/tests/transport.cpp b/tests/transport.cpp
index fcf2d0a..83f0a34 100644
--- a/tests/transport.cpp
+++ b/tests/transport.cpp
@@ -255,13 +255,13 @@
     struct pldm_transport_test* test = NULL;
     struct pldm_transport* ctx;
     size_t len;
-    void* msg;
+    void* msg = NULL;
     int rc;
 
     EXPECT_EQ(pldm_transport_test_init(&test, seq, ARRAY_SIZE(seq)), 0);
     ctx = pldm_transport_test_core(test);
     rc = pldm_transport_send_recv_msg(ctx, 1, req, sizeof(req), &msg, &len);
-    EXPECT_EQ(rc, PLDM_SUCCESS);
+    ASSERT_EQ(rc, PLDM_REQUESTER_SUCCESS);
     EXPECT_NE(memcmp(msg, unwanted, len), 0);
     EXPECT_EQ(memcmp(msg, resp, len), 0);
     free(msg);
