diff --git a/source/RobotAPI/libraries/core/Pose.cpp b/source/RobotAPI/libraries/core/Pose.cpp
index f0ef6e15b45ca5766d16e7a1d3e2c0add055b58c..f1370001de11c7ddabc21403e637215e5a050220 100644
--- a/source/RobotAPI/libraries/core/Pose.cpp
+++ b/source/RobotAPI/libraries/core/Pose.cpp
@@ -173,7 +173,7 @@ namespace armarx
     }
 
 
-    Quaternion::Quaternion()
+    Quaternion::Quaternion() : Quaternion(Eigen::Quaternionf::Identity())
     {
     }
 
@@ -203,13 +203,7 @@ namespace armarx
 
     Matrix3f Quaternion::toEigen() const
     {
-        Matrix3f rot;
-        rot = Quaternionf(
-                  this->qw,
-                  this->qx,
-                  this->qy,
-                  this->qz);
-        return rot;
+        return toEigenQuaternion().toRotationMatrix();
     }
 
     Eigen::Quaternionf Quaternion::toEigenQuaternion() const
@@ -274,6 +268,14 @@ namespace armarx
         qw = obj->getFloat("qw");
     }
 
+
+    Pose::Pose()
+    {
+        this->orientation = new Quaternion();
+        this->position = new Vector3();
+        init();
+    }
+
     Pose::Pose(const Eigen::Matrix3f& m, const Eigen::Vector3f& v)
     {
         this->orientation = new Quaternion(m);
@@ -288,13 +290,6 @@ namespace armarx
         init();
     }
 
-    Pose::Pose()
-    {
-        this->orientation = new Quaternion();
-        this->position = new Vector3();
-        init();
-    }
-
     Pose::Pose(const Pose& source) :
         IceUtil::Shared(source),
         PoseBase(source)
diff --git a/source/RobotAPI/libraries/core/Pose.h b/source/RobotAPI/libraries/core/Pose.h
index 1573d2da69f9bdf97b9dc90958133b1129a2bcec..74be8b0fa09652a0b9db2dba733d5fdb93305a76 100644
--- a/source/RobotAPI/libraries/core/Pose.h
+++ b/source/RobotAPI/libraries/core/Pose.h
@@ -160,6 +160,8 @@ namespace armarx
         virtual public QuaternionBase
     {
     public:
+
+        /// Construct an identity quaternion.
         Quaternion();
         Quaternion(const Eigen::Matrix4f&);
         Quaternion(const Eigen::Matrix3f&);