diff --git a/platform-mc/terminus_manager.cpp b/platform-mc/terminus_manager.cpp
index bb40d8d..13a933f 100644
--- a/platform-mc/terminus_manager.cpp
+++ b/platform-mc/terminus_manager.cpp
@@ -144,7 +144,7 @@
                 exec::default_task_context<void>());
 }
 
-auto TerminusManager::findTeminusPtr(const MctpInfo& mctpInfo)
+auto TerminusManager::findTerminusPtr(const MctpInfo& mctpInfo)
 {
     auto foundIter = std::find_if(termini.begin(), termini.end(),
                                   [&](const auto& terminusPair) {
@@ -170,7 +170,7 @@
         const MctpInfos& mctpInfos = queuedMctpInfos.front();
         for (const auto& mctpInfo : mctpInfos)
         {
-            auto it = findTeminusPtr(mctpInfo);
+            auto it = findTerminusPtr(mctpInfo);
             if (it == termini.end())
             {
                 co_await initMctpTerminus(mctpInfo);
@@ -193,7 +193,7 @@
     // remove terminus
     for (const auto& mctpInfo : mctpInfos)
     {
-        auto it = findTeminusPtr(mctpInfo);
+        auto it = findTerminusPtr(mctpInfo);
         if (it == termini.end())
         {
             continue;
diff --git a/platform-mc/terminus_manager.hpp b/platform-mc/terminus_manager.hpp
index fccbb1c..2816fb7 100644
--- a/platform-mc/terminus_manager.hpp
+++ b/platform-mc/terminus_manager.hpp
@@ -152,7 +152,7 @@
      *
      *  @param[in] mctpInfos - list information of the MCTP endpoints
      */
-    auto findTeminusPtr(const MctpInfo& mctpInfo);
+    auto findTerminusPtr(const MctpInfo& mctpInfo);
 
     /** @brief The coroutine task execute by discoverMctpTerminus()
      *
