diff --git a/include/ndnboost/type_traits/msvc/remove_pointer.hpp b/include/ndnboost/type_traits/msvc/remove_pointer.hpp
index 694bef8..4311bcc 100644
--- a/include/ndnboost/type_traits/msvc/remove_pointer.hpp
+++ b/include/ndnboost/type_traits/msvc/remove_pointer.hpp
@@ -2,8 +2,8 @@
 // Use, modification and distribution is subject to the Boost Software
 // License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
 
-#ifndef BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
-#define BOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
+#ifndef NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
+#define NDNBOOST_TYPE_TRAITS_MSVC_REMOVE_POINTER_HOLT_2004_0827
 
 #include <ndnboost/type_traits/msvc/typeof.hpp>
 #include <ndnboost/type_traits/is_pointer.hpp>
@@ -24,7 +24,7 @@
                 template<typename U>
                 static msvc_register_type<U,ID> test(U*);
                 static msvc_register_type<T,ID> test(...);
-                BOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
+                NDNBOOST_STATIC_CONSTANT(unsigned,register_test=sizeof(test( *((T*)NULL) ) ));
                 typedef typename msvc_extract_type<ID>::id2type::type type;
             };
         };
@@ -35,8 +35,8 @@
         typedef typename ndnboost::detail::remove_pointer_impl_typeof<
             ndnboost::is_pointer<T>::value
         >::template inner<T,remove_pointer<T> >::type type;
-        BOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_pointer,T)
+        NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,remove_pointer,T)
     };
 } //namespace ndnboost
 
-#endif //BOOST_TYPE_TRAITS_REMOVE_POINTER_HOLT_2004_0827
+#endif //NDNBOOST_TYPE_TRAITS_REMOVE_POINTER_HOLT_2004_0827
