diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Pose.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Pose.cpp
index d7292d0e05e46931f2d43ea937d9eda0b6def9fb..b377dde0f39916daa25e80d4b74a7bc665c316c0 100644
--- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Pose.cpp
+++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Pose.cpp
@@ -86,7 +86,9 @@ namespace armarx::aron::codegenerator::cpp::generator
     CppBlockPtr Pose::getEqualsBlock(const std::string& accessor, const std::string& otherInstanceAccessor) const
     {
         CppBlockPtr block_if_data = std::make_shared<CppBlock>();
-        block_if_data->addLine("if (not (" + accessor + nextEl() + "isApprox(" + otherInstanceAccessor + ")))");
+        std::string other_instance_resolved_accessor = this->resolveMaybeAccessor(otherInstanceAccessor);
+
+        block_if_data->addLine("if (not (" + accessor + nextEl() + "isApprox(" + other_instance_resolved_accessor + ")))");
         block_if_data->addLineAsBlock("return false;");
         return resolveMaybeEqualsBlock(block_if_data, accessor, otherInstanceAccessor);
     }
diff --git a/source/RobotAPI/libraries/aron/core/test/aron/OptionalTest.xml b/source/RobotAPI/libraries/aron/core/test/aron/OptionalTest.xml
index 332e9b13e489cb6426cb9a0a88aa238d8aaea9d3..2b0d2d39810d2d1c05d4c40bba55ee36fc29615a 100644
--- a/source/RobotAPI/libraries/aron/core/test/aron/OptionalTest.xml
+++ b/source/RobotAPI/libraries/aron/core/test/aron/OptionalTest.xml
@@ -61,7 +61,9 @@
                 </List>
             </ObjectChild>
 
-
+            <ObjectChild key="an_optional_pose">
+                <Pose />
+            </ObjectChild>
 
         </Object>
     </GenerateTypes>