diff --git a/include/hpp/fcl/mesh_loader/loader.h b/include/hpp/fcl/mesh_loader/loader.h
index bc04b05b6edb3da09994879aa22fbe94fd561497..ce8a30afbb52e241c40668c6a4aca49457174e61 100644
--- a/include/hpp/fcl/mesh_loader/loader.h
+++ b/include/hpp/fcl/mesh_loader/loader.h
@@ -39,6 +39,7 @@
 
 #include <boost/shared_ptr.hpp>
 #include <hpp/fcl/fwd.hh>
+#include <hpp/fcl/config.hh>
 #include <hpp/fcl/math/vec_3f.h>
 #include <hpp/fcl/collision_object.h>
 
@@ -52,9 +53,23 @@ namespace fcl {
     public:
       virtual ~MeshLoader() {}
 
-      virtual CollisionGeometryPtr_t load (const std::string& filename,
+      /// \param bvType ignored
+      /// \deprecated Use MeshLoader::load(const std::string&, const Vec3f&)
+      CollisionGeometryPtr_t load (const std::string& filename,
           const Vec3f& scale,
-          const NODE_TYPE& bvType);
+          const NODE_TYPE& bvType) HPP_FCL_DEPRECATED
+      {
+        (void) bvType;
+        return load (filename, scale);
+      }
+
+      virtual CollisionGeometryPtr_t load (const std::string& filename,
+          const Vec3f& scale);
+
+      MeshLoader (const NODE_TYPE& bvType = BV_OBBRSS) : bvType_ (bvType) {}
+
+    private:
+      const NODE_TYPE bvType_;
   };
 
   /// Class for building polyhedron from files with cache mechanism.
@@ -66,17 +81,27 @@ namespace fcl {
     public:
       virtual ~CachedMeshLoader() {}
 
-      virtual CollisionGeometryPtr_t load (const std::string& filename,
+      CachedMeshLoader (const NODE_TYPE& bvType = BV_OBBRSS) : MeshLoader (bvType) {}
+
+      /// \param bvType ignored
+      /// \deprecated Use MeshLoader::load(const std::string&, const Vec3f&)
+      CollisionGeometryPtr_t load (const std::string& filename,
           const Vec3f& scale,
-          const NODE_TYPE& bvType);
+          const NODE_TYPE& bvType) HPP_FCL_DEPRECATED
+      {
+        (void) bvType;
+        return load(filename, scale);
+      }
+
+      virtual CollisionGeometryPtr_t load (const std::string& filename,
+          const Vec3f& scale);
 
       struct Key {
         std::string filename;
         Vec3f scale;
-        NODE_TYPE bvType;
 
-        Key (const std::string& f, const Vec3f& s, const NODE_TYPE& t)
-          : filename (f), scale (s), bvType (t) {}
+        Key (const std::string& f, const Vec3f& s)
+          : filename (f), scale (s) {}
 
         bool operator< (const CachedMeshLoader::Key& b) const;
       };
diff --git a/src/mesh_loader/loader.cpp b/src/mesh_loader/loader.cpp
index 21392445358aba7903fbaedd130945b371de2837..d2e9b36a2f7ded1cc9922ff8896365870d717477 100644
--- a/src/mesh_loader/loader.cpp
+++ b/src/mesh_loader/loader.cpp
@@ -45,8 +45,6 @@ namespace fcl {
   bool CachedMeshLoader::Key::operator< (const CachedMeshLoader::Key& b) const
   {
     const CachedMeshLoader::Key& a = *this;
-    if (a.bvType < b.bvType) return true;
-    if (a.bvType > b.bvType) return false;
     for (int i = 0; i < 3; ++i) {
       if (a.scale[i] < b.scale[i]) return true;
       else if (a.scale[i] > b.scale[i]) return false;
@@ -63,10 +61,9 @@ namespace fcl {
   }
 
   CollisionGeometryPtr_t MeshLoader::load (const std::string& filename,
-      const Vec3f& scale,
-      const NODE_TYPE& bvType)
+      const Vec3f& scale)
   {
-    switch (bvType) {
+    switch (bvType_) {
       case BV_AABB  : return _load <AABB  > (filename, scale);
       case BV_OBB   : return _load <OBB   > (filename, scale);
       case BV_RSS   : return _load <RSS   > (filename, scale);
@@ -81,13 +78,12 @@ namespace fcl {
   }
 
   CollisionGeometryPtr_t CachedMeshLoader::load (const std::string& filename,
-      const Vec3f& scale,
-      const NODE_TYPE& bvType)
+      const Vec3f& scale)
   {
-    Key key (filename, scale, bvType);
+    Key key (filename, scale);
     Cache_t::const_iterator _cached = cache_.find (key);
     if (_cached == cache_.end()) {
-      CollisionGeometryPtr_t geom = MeshLoader::load (filename, scale, bvType);
+      CollisionGeometryPtr_t geom = MeshLoader::load (filename, scale);
       cache_.insert (std::make_pair(key, geom));
       return geom;
     } else {