diff --git a/transport/rdma.c b/transport/rdma.c
index 30399122b2a8da9dd1c5bc1c77c6def3e422f5d5..5cb7ff4d2cc0f942ff7c3a3e3f242db22e9ae7b5 100644
--- a/transport/rdma.c
+++ b/transport/rdma.c
@@ -375,12 +375,10 @@ mstro_transport_rdma_src_execute_bh(Mstro__Pool__TransferCompleted *tc)
 
   HASH_DEL(g_mstro_transport_mreg_table, regentry);
   free(regentry);
-  if (HASH_COUNT(g_mstro_transport_mreg_table) == 0) {
-    err = pthread_cond_signal(&g_mstro_transport_mreg_table_cond);
-    if (err) {
-      ERR("Couldn't signal mreg table is empty\n");
+  err = pthread_cond_signal(&g_mstro_transport_mreg_table_cond);
+  if (err) {
+      ERR("Couldn't signal mreg entry change\n");
       status = MSTRO_FAIL;
-    }
   }
 
 BAILOUT_UNLOCK: