diff --git a/src/traits_traversal.h b/src/traits_traversal.h
index 05025a3de41717bd6cc7967775ffe4ea56f72bb2..c296ac8fd1068d251f17d5c905d94497c8e2907c 100644
--- a/src/traits_traversal.h
+++ b/src/traits_traversal.h
@@ -18,8 +18,6 @@ namespace hpp
 namespace fcl
 {
 
-#ifdef HPP_FCL_HAVE_OCTOMAP
-
 // TraversalTraitsCollision for collision_func_matrix.cpp
 
 template <typename TypeA, typename TypeB>
@@ -27,6 +25,8 @@ struct TraversalTraitsCollision
 {
 };
 
+#ifdef HPP_FCL_HAVE_OCTOMAP
+
 template <typename T_SH>
 struct TraversalTraitsCollision <T_SH, OcTree>
 {
@@ -57,6 +57,8 @@ struct TraversalTraitsCollision <BVHModel<T_BVH>, OcTree>
   typedef MeshOcTreeCollisionTraversalNode<T_BVH> CollisionTraversal_t;
 };
 
+#endif
+
 // TraversalTraitsDistance for distance_func_matrix.cpp
 
 template <typename TypeA, typename TypeB>
@@ -64,6 +66,8 @@ struct TraversalTraitsDistance
 {
 };
 
+#ifdef HPP_FCL_HAVE_OCTOMAP
+
 template <typename T_SH>
 struct TraversalTraitsDistance <T_SH, OcTree>
 {