diff --git a/include/eigenpy/map.hpp b/include/eigenpy/map.hpp
index 24af8cfae4da3d901ad2966a7e79466d34f452cd..f82524c7213283b7ad9ab41c765b1afcce8eb2c4 100644
--- a/include/eigenpy/map.hpp
+++ b/include/eigenpy/map.hpp
@@ -61,8 +61,16 @@ namespace eigenpy
         rows = (int)PyArray_DIMS(pyArray)[0];
         cols = (int)PyArray_DIMS(pyArray)[1];
         
-        inner_stride = (int)PyArray_STRIDE(pyArray, 0) / (int)itemsize;
-        outer_stride = (int)PyArray_STRIDE(pyArray, 1) / (int)itemsize;
+        if(EquivalentInputMatrixType::IsRowMajor)
+        {
+          inner_stride = (int)PyArray_STRIDE(pyArray, 1) / (int)itemsize;
+          outer_stride = (int)PyArray_STRIDE(pyArray, 0) / (int)itemsize;
+        }
+        else
+        {
+          inner_stride = (int)PyArray_STRIDE(pyArray, 0) / (int)itemsize;
+          outer_stride = (int)PyArray_STRIDE(pyArray, 1) / (int)itemsize;
+        }
       }
       else if(PyArray_NDIM(pyArray) == 1)
       {