diff --git a/include/ipmid/handler.hpp b/include/ipmid/handler.hpp
index 10b7119..b6c6c0f 100644
--- a/include/ipmid/handler.hpp
+++ b/include/ipmid/handler.hpp
@@ -190,7 +190,7 @@
                                   boost::asio::yield_context>::value)
                 {
                     inputArgs.emplace(std::tuple_cat(
-                        std::forward_as_tuple(*(request->ctx->yield)),
+                        std::forward_as_tuple(request->ctx->yield),
                         std::move(unpackArgs)));
                 }
                 else if constexpr (std::is_same<
diff --git a/include/ipmid/message.hpp b/include/ipmid/message.hpp
index 4864f4e..0dc7ca8 100644
--- a/include/ipmid/message.hpp
+++ b/include/ipmid/message.hpp
@@ -43,7 +43,7 @@
 
     Context(std::shared_ptr<sdbusplus::asio::connection> bus, NetFn netFn,
             Cmd cmd, int channel, int userId, Privilege priv, int rqSA,
-            boost::asio::yield_context* yield) :
+            boost::asio::yield_context& yield) :
         bus(bus),
         netFn(netFn), cmd(cmd), channel(channel), userId(userId), priv(priv),
         rqSA(rqSA), yield(yield)
@@ -60,7 +60,7 @@
     // srcAddr is only set on IPMB requests because
     // Platform Event Message needs it to determine the incoming format
     int rqSA;
-    boost::asio::yield_context* yield;
+    boost::asio::yield_context yield;
 };
 
 namespace message
diff --git a/ipmid-new.cpp b/ipmid-new.cpp
index c32ba3f..f210c5d 100644
--- a/ipmid-new.cpp
+++ b/ipmid-new.cpp
@@ -537,7 +537,7 @@
                       entry("RQSA=%x", rqSA));
 
     auto ctx = std::make_shared<ipmi::Context>(getSdBus(), netFn, cmd, channel,
-                                               userId, privilege, rqSA, &yield);
+                                               userId, privilege, rqSA, yield);
     auto request = std::make_shared<ipmi::message::Request>(
         ctx, std::forward<std::vector<uint8_t>>(data));
     message::Response::ptr response = executeIpmiCommand(request);
@@ -750,7 +750,7 @@
         m.read(seq, netFn, lun, cmd, data);
         std::shared_ptr<sdbusplus::asio::connection> bus = getSdBus();
         auto ctx = std::make_shared<ipmi::Context>(
-            bus, netFn, cmd, 0, 0, ipmi::Privilege::Admin, 0, &yield);
+            bus, netFn, cmd, 0, 0, ipmi::Privilege::Admin, 0, yield);
         auto request = std::make_shared<ipmi::message::Request>(
             ctx, std::forward<std::vector<uint8_t>>(data));
         ipmi::message::Response::ptr response =
