diff --git a/services/tunnelbroker/test/AmqpManagerTest.cpp b/services/tunnelbroker/test/AmqpManagerTest.cpp
--- a/services/tunnelbroker/test/AmqpManagerTest.cpp
+++ b/services/tunnelbroker/test/AmqpManagerTest.cpp
@@ -37,7 +37,11 @@
       "6d37StvXBzfJoZVU79UeOF2bFvb3DNoArEOe";
   const database::MessageItem messageItem{
       messageID, fromDeviceID, toDeviceID, payload, ""};
-  EXPECT_EQ(AmqpManager::getInstance().send(&messageItem), true);
+  // To properly test multi-thread delivery we should send in another thread
+  std::thread sendThread([&messageItem]() {
+    EXPECT_EQ(AmqpManager::getInstance().send(&messageItem), true);
+  });
+  sendThread.join();
   DeliveryBrokerMessage receivedMessage =
       DeliveryBroker::getInstance().pop(toDeviceID);
   EXPECT_EQ(messageID, receivedMessage.messageID);
@@ -55,7 +59,11 @@
   const std::string payload = tools::generateRandomString(512);
   const database::MessageItem messageItem{
       messageID, fromDeviceID, toDeviceID, payload, ""};
-  EXPECT_EQ(AmqpManager::getInstance().send(&messageItem), true);
+  // To properly test multi-thread delivery we should send in another thread
+  std::thread sendThread([&messageItem]() {
+    EXPECT_EQ(AmqpManager::getInstance().send(&messageItem), true);
+  });
+  sendThread.join();
   DeliveryBrokerMessage receivedMessage =
       DeliveryBroker::getInstance().pop(toDeviceID);
   EXPECT_EQ(messageID, receivedMessage.messageID)