diff --git a/include/u-boot-env-mgr.hpp b/include/u-boot-env-mgr.hpp
index 4cd0370..b5912f0 100644
--- a/include/u-boot-env-mgr.hpp
+++ b/include/u-boot-env-mgr.hpp
@@ -16,7 +16,7 @@
 
 #pragma once
 
-#include <boost/asio/io_service.hpp>
+#include <boost/asio/io_context.hpp>
 #include <sdbusplus/asio/object_server.hpp>
 
 static constexpr const char* uBootEnvMgrServiceName =
@@ -28,7 +28,7 @@
 
 class UBootEnvMgr
 {
-    boost::asio::io_service& io;
+    boost::asio::io_context& io;
     sdbusplus::asio::object_server& server;
     std::shared_ptr<sdbusplus::asio::connection> conn;
     std::shared_ptr<sdbusplus::asio::dbus_interface> iface;
@@ -37,7 +37,7 @@
     void writeVariable(const std::string& key, const std::string& value);
 
   public:
-    UBootEnvMgr(boost::asio::io_service& io,
+    UBootEnvMgr(boost::asio::io_context& io,
                 sdbusplus::asio::object_server& srv,
                 std::shared_ptr<sdbusplus::asio::connection>& conn);
 };
diff --git a/src/mainapp.cpp b/src/mainapp.cpp
index 5f4dc86..100c995 100644
--- a/src/mainapp.cpp
+++ b/src/mainapp.cpp
@@ -20,7 +20,7 @@
 
 int main()
 {
-    boost::asio::io_service io;
+    boost::asio::io_context io;
     auto conn = std::make_shared<sdbusplus::asio::connection>(io);
     conn->request_name(uBootEnvMgrServiceName);
     sdbusplus::asio::object_server server(conn);
diff --git a/src/u-boot-env-mgr.cpp b/src/u-boot-env-mgr.cpp
index 882e26c..aba8c56 100644
--- a/src/u-boot-env-mgr.cpp
+++ b/src/u-boot-env-mgr.cpp
@@ -57,11 +57,10 @@
     return stdOutput;
 }
 
-UBootEnvMgr::UBootEnvMgr(boost::asio::io_service& io_,
+UBootEnvMgr::UBootEnvMgr(boost::asio::io_context& io_,
                          sdbusplus::asio::object_server& srv_,
                          std::shared_ptr<sdbusplus::asio::connection>& conn_) :
-    io(io_),
-    server(srv_), conn(conn_)
+    io(io_), server(srv_), conn(conn_)
 {
     iface = server.add_interface(uBootEnvMgrPath, uBootEnvMgrIface);
     iface->register_method("ReadAll", [this]() { return readAllVariable(); });
