diff --git a/include/hpp/fcl/eigen/vec_3fx.h b/include/hpp/fcl/eigen/vec_3fx.h
index 23a1e3fd1a2a1e85230577b734eb3a7f68773d3d..dc47dc43e46a32d14c7d0721662c18f51f419070 100644
--- a/include/hpp/fcl/eigen/vec_3fx.h
+++ b/include/hpp/fcl/eigen/vec_3fx.h
@@ -151,10 +151,10 @@ namespace Eigen {
       {};
 
     template <typename Derived> struct remove_fcl { typedef Derived type; };
-    template <> template <typename Derived> struct remove_fcl <FclOp<Derived> > { typedef Derived type; };
-    template <> template <typename Derived> struct remove_fcl <const FclOp<Derived> > { typedef Derived type; };
-    template <> template <typename T, int Col, int Options> struct remove_fcl <FclMatrix<T,Col,Options> > { typedef typename FclMatrix<T,Col,Options>::Base type; };
-    template <> template <typename T, int Col, int Options> struct remove_fcl <const FclMatrix<T,Col,Options> > { typedef typename FclMatrix<T,Col,Options>::Base type; };
+    template <typename Derived> struct remove_fcl <FclOp<Derived> > { typedef Derived type; };
+    template <typename Derived> struct remove_fcl <const FclOp<Derived> > { typedef Derived type; };
+    template <typename T, int Col, int Options> struct remove_fcl <FclMatrix<T,Col,Options> > { typedef typename FclMatrix<T,Col,Options>::Base type; };
+    template <typename T, int Col, int Options> struct remove_fcl <const FclMatrix<T,Col,Options> > { typedef typename FclMatrix<T,Col,Options>::Base type; };
   }
 
 #include <hpp/fcl/eigen/product.h>