diff --git a/include/eigenpy/numpy-type.hpp b/include/eigenpy/numpy-type.hpp
index bef0f187bd6c1dec63818675d7c84e9f08c1e2c9..805d1dd18afcd0d87db45e2c9c9781948dee147d 100644
--- a/include/eigenpy/numpy-type.hpp
+++ b/include/eigenpy/numpy-type.hpp
@@ -20,7 +20,7 @@ namespace eigenpy
   template<typename Scalar>
   bool np_type_is_convertible_into_scalar(const int np_type)
   {
-    if(NumpyEquivalentType<Scalar>::type_code >= NPY_USERDEF)
+    if(static_cast<NPY_TYPES>(NumpyEquivalentType<Scalar>::type_code) >= NPY_USERDEF)
       return np_type == Register::getTypeCode<Scalar>();
 
     if(NumpyEquivalentType<Scalar>::type_code == np_type)
diff --git a/include/eigenpy/numpy.hpp b/include/eigenpy/numpy.hpp
index 8abb4c99a092d3e5e0e328dd85f0c8591340f98a..84c7575d7db74559b0807246e47279d1cf01b20e 100644
--- a/include/eigenpy/numpy.hpp
+++ b/include/eigenpy/numpy.hpp
@@ -33,7 +33,7 @@ namespace eigenpy
   int EIGENPY_DLLAPI PyArray_TypeNum(PyTypeObject * type);
   
   // By default, the Scalar is considered as a Python object
-  template <typename Scalar> struct NumpyEquivalentType { enum  { type_code = NPY_USERDEF };};
+  template <typename Scalar> struct NumpyEquivalentType { enum { type_code = NPY_USERDEF };};
 
   template <> struct NumpyEquivalentType<float>   { enum { type_code = NPY_FLOAT  };};
   template <> struct NumpyEquivalentType< std::complex<float> >   { enum { type_code = NPY_CFLOAT  };};
diff --git a/include/eigenpy/user-type.hpp b/include/eigenpy/user-type.hpp
index 9f2acc8ae999f1f7837327cf9f361f05f58ec089..a9b0ece5916e0b2fd945f34b612b67f5703b7a33 100644
--- a/include/eigenpy/user-type.hpp
+++ b/include/eigenpy/user-type.hpp
@@ -17,7 +17,7 @@ namespace eigenpy
   {
     static To run(const From & from)
     {
-      return static_cast<To>(from);
+      return (To)from;
     }
     
   };