diff --git a/cmake b/cmake
index ab4c798680d0a3ba4e84d3b7f25cc42d336eca1b..242dc450ae43ca2182987c9588c21e8aab32d61c 160000
--- a/cmake
+++ b/cmake
@@ -1 +1 @@
-Subproject commit ab4c798680d0a3ba4e84d3b7f25cc42d336eca1b
+Subproject commit 242dc450ae43ca2182987c9588c21e8aab32d61c
diff --git a/include/eigenpy/details.hpp b/include/eigenpy/details.hpp
index 678837c9bb8d1478448d7b094cf7b16b19b20f45..a715f5cc889c2d3085c011a02dc7073bafb285d8 100644
--- a/include/eigenpy/details.hpp
+++ b/include/eigenpy/details.hpp
@@ -410,6 +410,15 @@ namespace eigenpy
 
       memory->convertible = storage;
     }
+    
+    static void registration()
+    {
+      bp::converter::registry::push_back
+      (reinterpret_cast<void *(*)(_object *)>(&EigenFromPy::convertible),
+       &EigenFromPy::construct,bp::type_id<MatType>());
+    }
+  };
+  
   };
   
 #define numpy_import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); } }
@@ -425,10 +434,7 @@ namespace eigenpy
   {
     static void registration()
     {
-      bp::converter::registry::push_back
-      (reinterpret_cast<void *(*)(_object *)>(&EigenFromPy<MatType>::convertible),
-       &EigenFromPy<MatType>::construct,bp::type_id<MatType>());
-      
+      EigenFromPy<MatType>::registration();
       // Add also conversion to Eigen::MatrixBase<MatType>
       bp::converter::registry::push_back
       (reinterpret_cast<void *(*)(_object *)>(&EigenFromPy<MatType>::convertible),
@@ -450,7 +456,6 @@ namespace eigenpy
   };
 #endif
   
-  
   template<typename MatType>
   void enableEigenPySpecific()
   {