diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7ff319266d74e84e24f0409e85d8cbaec39b223c..35823d20d89e0ff5216a5e7435326f6bb9a9bcd5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -47,10 +47,9 @@ set(PROJECT_URL "http://github.com/humanoid-path-planner/hpp-fcl")
 setup_project()
 
 set(FCL_HAVE_SSE FALSE CACHE BOOL "Enable SSE vectorization")
-set(FCL_USE_NATIVE_EIGEN FALSE CACHE BOOL "Use native eigen matrix type when possible")
 
 add_optional_dependency("eigen3 >= 3.0.0")
-set(FCL_HAVE_EIGEN ${EIGEN3_FOUND} CACHE BOOL "Use eigen wrappers")
+set(FCL_HAVE_EIGEN  ${EIGEN3_FOUND} CACHE BOOL "Use eigen matrix type when possible")
 if (EIGEN3_FOUND)
   if (FCL_HAVE_EIGEN)
     include_directories(${EIGEN3_INCLUDE_DIRS})
diff --git a/include/hpp/fcl/ccd/taylor_vector.h b/include/hpp/fcl/ccd/taylor_vector.h
index e3ca94664aceb61054e0803345ff952227ff9eb8..be570a38c55501fc975dd1565ac10516ac352333 100644
--- a/include/hpp/fcl/ccd/taylor_vector.h
+++ b/include/hpp/fcl/ccd/taylor_vector.h
@@ -41,7 +41,7 @@
 #include <hpp/fcl/ccd/interval_vector.h>
 #include <hpp/fcl/ccd/taylor_model.h>
 
-#if FCL_USE_NATIVE_EIGEN
+#if FCL_HAVE_EIGEN
 #include <hpp/fcl/eigen/taylor_operator.h>
 #endif
 
diff --git a/include/hpp/fcl/config-fcl.hh.in b/include/hpp/fcl/config-fcl.hh.in
index 0b1506c71d9d091626037585156e5ab61da6decd..e8a2448f228a288f0ec446edacfa5bb81fe23a6c 100644
--- a/include/hpp/fcl/config-fcl.hh.in
+++ b/include/hpp/fcl/config-fcl.hh.in
@@ -38,7 +38,6 @@
 # include "config.h"
 
 #cmakedefine01 FCL_HAVE_EIGEN
-#cmakedefine01 FCL_USE_NATIVE_EIGEN
 
 #cmakedefine01 FCL_HAVE_SSE
 #cmakedefine01 FCL_HAVE_OCTOMAP
diff --git a/include/hpp/fcl/math/matrix_3f.h b/include/hpp/fcl/math/matrix_3f.h
index a44118f68a191cd3b00170af27ca30c466903ff8..b04d816b96a9360eeac190d9b2b2f295d181b6c9 100644
--- a/include/hpp/fcl/math/matrix_3f.h
+++ b/include/hpp/fcl/math/matrix_3f.h
@@ -40,7 +40,7 @@
 
 #include <hpp/fcl/math/vec_3f.h>
 
-#if ! FCL_USE_NATIVE_EIGEN
+#if ! FCL_HAVE_EIGEN
 # include <hpp/fcl/math/matrix_3fx.h>
 #endif
 
@@ -48,15 +48,11 @@ namespace fcl
 {
 
 #if FCL_HAVE_EIGEN
-# if FCL_USE_NATIVE_EIGEN
   typedef Eigen::FclMatrix<FCL_REAL, 3> Matrix3f;
-# else
-  typedef Matrix3fX<details::eigen_wrapper_m3<FCL_REAL> > Matrix3f;
-# endif
 #elif FCL_HAVE_SSE
-typedef Matrix3fX<details::sse_meta_f12> Matrix3f;
+  typedef Matrix3fX<details::sse_meta_f12> Matrix3f;
 #else
-typedef Matrix3fX<details::Matrix3Data<FCL_REAL> > Matrix3f;
+  typedef Matrix3fX<details::Matrix3Data<FCL_REAL> > Matrix3f;
 #endif
 
 static inline std::ostream& operator << (std::ostream& o, const Matrix3f& m)
diff --git a/include/hpp/fcl/math/vec_3f.h b/include/hpp/fcl/math/vec_3f.h
index 0cf42198d6b54f3596193ce0c07f79d76fa45618..f81e6da128d6ed07db88736b87c7e5d817e71d60 100644
--- a/include/hpp/fcl/math/vec_3f.h
+++ b/include/hpp/fcl/math/vec_3f.h
@@ -42,16 +42,14 @@
 #include <hpp/fcl/data_types.h>
 
 #if FCL_HAVE_EIGEN
-# if ! FCL_USE_NATIVE_EIGEN
 #  include <hpp/fcl/eigen/math_details.h>
-# endif
 #elif FCL_HAVE_SSE
 # include <hpp/fcl/simd/math_simd_details.h>
 #else
 # include <hpp/fcl/math/math_details.h>
 #endif
 
-#if FCL_USE_NATIVE_EIGEN
+#if FCL_HAVE_EIGEN
 # include <hpp/fcl/eigen/vec_3fx.h>
 #else
 # include <hpp/fcl/math/vec_3fx.h>
@@ -66,11 +64,7 @@ namespace fcl
 {
 
 #if FCL_HAVE_EIGEN
-# if FCL_USE_NATIVE_EIGEN
   typedef Eigen::FclMatrix<FCL_REAL, 1> Vec3f;
-# else
-  typedef Vec3fX<details::eigen_wrapper_v3<FCL_REAL> > Vec3f;
-# endif
 #elif FCL_HAVE_SSE
   typedef Vec3fX<details::sse_meta_f4> Vec3f;
 #else