diff --git a/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.cpp b/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.cpp
index 8710af33c07522713bd833e53c7f1e982754e3ec..a707e9c3cdbce5c62199346a740e85c64005a693 100644
--- a/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.cpp
+++ b/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.cpp
@@ -1,4 +1,6 @@
 #include "ObjectPoseClient.h"
+#include <optional>
+#include "RobotAPI/libraries/ArmarXObjects/ObjectPose.h"
 
 
 namespace armarx::objpose
@@ -54,7 +56,21 @@ namespace armarx::objpose
         }
         return map;
     }
+
+    
+    std::optional<ObjectPose> ObjectPoseClient::fetchObjectPose(const ObjectID& objectID) 
+    {
+        const auto *object = findObjectPoseByID(fetchObjectPoses(), objectID);
+
+        if(object != nullptr)
+        {
+            return *object;
+        }
+
+        return std::nullopt;
+    }
     
+
     ObjectPoseSeq ObjectPoseClient::fetchObjectPosesFromProvider(const std::string& providerName) 
     {
         if (!objectPoseStorage)
@@ -66,7 +82,6 @@ namespace armarx::objpose
     }
 
 
-
     const ObjectPoseStorageInterfacePrx&
     ObjectPoseClient::getObjectPoseStorage() const
     {
diff --git a/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.h b/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.h
index 33f9a6dd7b40fd933a451d50d093afc937a08635..9bae3131ec96f91e3ad4e7df89d0ed9a8e11db12 100644
--- a/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.h
+++ b/source/RobotAPI/libraries/ArmarXObjects/ObjectPoseClient.h
@@ -1,5 +1,6 @@
 #pragma once
 
+#include "RobotAPI/libraries/ArmarXObjects/ObjectID.h"
 #include <RobotAPI/interface/objectpose/ObjectPoseStorageInterface.h>
 #include <RobotAPI/libraries/ArmarXObjects/ObjectFinder.h>
 #include <RobotAPI/libraries/ArmarXObjects/ObjectPose.h>
@@ -31,10 +32,12 @@ namespace armarx::objpose
         ObjectPoseMap
         fetchObjectPosesAsMap();
 
+        std::optional<ObjectPose>
+        fetchObjectPose(const ObjectID& objectID);
+
         ObjectPoseSeq
         fetchObjectPosesFromProvider(const std::string& providerName);
 
-
         const ObjectPoseStorageInterfacePrx&
         getObjectPoseStorage() const;