diff --git a/include/IMU/math/IMU_tools_Lie.h b/include/IMU/math/IMU_tools_Lie.h
index 7ef24375788156e13611f6ba29ab0e321dae9f06..6ea135922cdb919ef1c0927f162359328dcfc13e 100644
--- a/include/IMU/math/IMU_tools_Lie.h
+++ b/include/IMU/math/IMU_tools_Lie.h
@@ -190,11 +190,11 @@ inline void adjoint(const MatrixBase<D1>& d, MatrixBase<D2>& adjd)
     MatrixSizeCheck<10, 10>::check(adjd);
 
     // Adjoint matrix associated to the adjoint operator
-    Matrix<typename D1::Scalar, 3, 1> dp ( & d( 0 ) );
-    Quaternion<typename D1::Scalar> dq ( &d(3) );
-    Matrix<typename D1::Scalar, 3, 3> dR  = q2R(dq);
-    Matrix<typename D1::Scalar, 3, 1> dv ( & d( 7 ) );
-    const typename D1::Scalar& dt = d(10);
+    Map<const Matrix<typename D1::Scalar, 3, 1> > dp ( & d( 0 ) );
+    Map<const Quaternion<typename D1::Scalar> >   dq ( &d(3) );
+    Matrix<typename D1::Scalar, 3, 3>             dR = q2R(dq);
+    Map<const Matrix<typename D1::Scalar, 3, 1> > dv ( & d( 7 ) );
+    const typename D1::Scalar&                    dt = d(10);
     
     // pqvt impl
     adjd.setIdentity();