diff --git a/include/eigenpy/quaternion.hpp b/include/eigenpy/quaternion.hpp
index 61ee052a987fe08cf4869e33b885c5535cfd4482..88f899db18bb49c829998424a6c87dbb6507371d 100644
--- a/include/eigenpy/quaternion.hpp
+++ b/include/eigenpy/quaternion.hpp
@@ -294,8 +294,8 @@ class QuaternionVisitor
     return q;
   }
 
-  static Quaternion* FromTwoVectors(const Eigen::Ref<Vector3> u,
-                                    const Eigen::Ref<Vector3> v) {
+  static Quaternion* FromTwoVectors(const Eigen::Ref<const Vector3> u,
+                                    const Eigen::Ref<const Vector3> v) {
     Quaternion* q(new Quaternion);
     q->setFromTwoVectors(u, v);
     return q;
@@ -308,12 +308,12 @@ class QuaternionVisitor
 
   static Quaternion* DefaultConstructor() { return new Quaternion; }
 
-  static Quaternion* FromOneVector(const Eigen::Ref<Vector4> v) {
+  static Quaternion* FromOneVector(const Eigen::Ref<const Vector4> v) {
     Quaternion* q(new Quaternion(v[3], v[0], v[1], v[2]));
     return q;
   }
 
-  static Quaternion* FromRotationMatrix(const Eigen::Ref<Matrix3> R) {
+  static Quaternion* FromRotationMatrix(const Eigen::Ref<const Matrix3> R) {
     Quaternion* q(new Quaternion(R));
     return q;
   }