diff --git a/source/RobotAPI/libraries/robotstate/remote/ArmarPose.cpp b/source/RobotAPI/libraries/robotstate/remote/ArmarPose.cpp
index 6bff2213874470530789c8b59e210ba471f93d9e..6bc4c8cb8fd70a37bbf0219198c127eed5997459 100644
--- a/source/RobotAPI/libraries/robotstate/remote/ArmarPose.cpp
+++ b/source/RobotAPI/libraries/robotstate/remote/ArmarPose.cpp
@@ -286,8 +286,8 @@ namespace armarx
         Matrix4f m = Matrix4f::Identity();
         ARMARX_CHECK_EXPRESSION(c_orientation);
         ARMARX_CHECK_EXPRESSION(c_position);
-        m.block<3,3>(0,0) = c_orientation->toEigen();
-        m.block<3,1>(0,3) = c_position->toEigen();
+        m.block<3,3>(0,0) = QuaternionPtr::dynamicCast(orientation)->toEigen();
+        m.block<3,1>(0,3) = Vector3Ptr::dynamicCast(position)->toEigen();
         return m;
     }