diff --git a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp
index 474423c079562ff4e1d653d3322f94297717b37a..a3850e5d2844c8bf4c84ff113b183db628ed1197 100644
--- a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp
+++ b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp
@@ -453,8 +453,6 @@ namespace armarx
     objpose::DetachObjectFromRobotNodeOutput ObjectPoseObserver::detachObjectFromRobotNode(
         const objpose::DetachObjectFromRobotNodeInput& input, const Ice::Current&)
     {
-        objpose::DetachObjectFromRobotNodeOutput output;
-
         ObjectID objectID = armarx::fromIce(input.objectID);
         std::string providerName = input.providerName;
 
@@ -499,11 +497,12 @@ namespace armarx
             }
         }
 
+        objpose::DetachObjectFromRobotNodeOutput output;
+        output.wasAttached = bool(attachment);
         if (attachment)
         {
             ARMARX_INFO << "Detached object " << objectID << " by provider '" << providerName << "' from robot node '"
                         << attachment->frameName << "' of agent '" << attachment->agentName << "'.";
-            output.wasAttached = true;
         }
         else
         {