diff --git a/source/RobotAPI/libraries/core/FramedPose.cpp b/source/RobotAPI/libraries/core/FramedPose.cpp
index 6f31a74198570c0200f7802d90b114444c0ad5a4..c9c160c7105da6ecaf19d411986ea1f93254e653 100644
--- a/source/RobotAPI/libraries/core/FramedPose.cpp
+++ b/source/RobotAPI/libraries/core/FramedPose.cpp
@@ -595,16 +595,21 @@ namespace armarx
     {
         VirtualRobot::LinkedCoordinate c(virtualRobot);
         std::string frame;
-        if(position)
+        if (position)
         {
             frame = position->getFrame();
 
-            if(!frame.empty() && frame != orientation->getFrame())
-                throw armarx::UserException("Error: frames mismatch");
+            if (orientation)
+            {
+                if(!frame.empty() && frame != orientation->getFrame())
+                {
+                    throw armarx::UserException("Error: frames mismatch");
+                }
+            }
         }
         else
         {
-            if(!orientation)
+            if (!orientation)
                 armarx::UserException("createLinkedCoordinate: orientation and position are both NULL");
             else
                 frame = orientation->getFrame();