diff --git a/include/ndnboost/mpl/distance.hpp b/include/ndnboost/mpl/distance.hpp
index 3f1ef4a..c5360f4 100644
--- a/include/ndnboost/mpl/distance.hpp
+++ b/include/ndnboost/mpl/distance.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_DISTANCE_HPP_INCLUDED
-#define BOOST_MPL_DISTANCE_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_DISTANCE_HPP_INCLUDED
+#define NDNBOOST_MPL_DISTANCE_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2000-2004
 //
@@ -34,7 +34,7 @@
 template< typename Tag > struct distance_impl
 {
     template< typename First, typename Last > struct apply
-#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING)
+#if !defined(NDNBOOST_MPL_CFG_NO_NESTED_FORWARDING)
         : aux::msvc_eti_base< typename iter_fold<
               iterator_range<First,Last>
             , mpl::long_<0>
@@ -49,7 +49,7 @@
             , next<>
             >::type type;
         
-        BOOST_STATIC_CONSTANT(long, value =
+        NDNBOOST_STATIC_CONSTANT(long, value =
               (iter_fold<
                   iterator_range<First,Last>
                 , mpl::long_<0>
@@ -61,18 +61,18 @@
 };
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(First)
-    , typename BOOST_MPL_AUX_NA_PARAM(Last)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(First)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(Last)
     >
 struct distance
     : distance_impl< typename tag<First>::type >
         ::template apply<First, Last>
 {
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, distance, (First, Last))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2, distance, (First, Last))
 };
 
-BOOST_MPL_AUX_NA_SPEC(2, distance)
+NDNBOOST_MPL_AUX_NA_SPEC(2, distance)
 
 }}
 
-#endif // BOOST_MPL_DISTANCE_HPP_INCLUDED
+#endif // NDNBOOST_MPL_DISTANCE_HPP_INCLUDED
