diff --git a/include/ndnboost/mpl/pair.hpp b/include/ndnboost/mpl/pair.hpp
index b58c0bd..3c295c5 100644
--- a/include/ndnboost/mpl/pair.hpp
+++ b/include/ndnboost/mpl/pair.hpp
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_MPL_PAIR_HPP_INCLUDED
-#define BOOST_MPL_PAIR_HPP_INCLUDED
+#ifndef NDNBOOST_MPL_PAIR_HPP_INCLUDED
+#define NDNBOOST_MPL_PAIR_HPP_INCLUDED
 
 // Copyright Aleksey Gurtovoy 2001-2004
 //
@@ -22,8 +22,8 @@
 namespace ndnboost { namespace mpl {
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(T1)
-    , typename BOOST_MPL_AUX_NA_PARAM(T2)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(T1)
+    , typename NDNBOOST_MPL_AUX_NA_PARAM(T2)
     >
 struct pair
 {
@@ -31,40 +31,40 @@
     typedef T1 first;
     typedef T2 second;
 
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(2,pair,(T1,T2))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(2,pair,(T1,T2))
 };
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(P)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(P)
     >
 struct first
 {
-#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
+#if !defined(NDNBOOST_MPL_CFG_MSVC_70_ETI_BUG)
     typedef typename P::first type;
 #else
     typedef typename aux::msvc_eti_base<P>::first type;
 #endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,first,(P))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,first,(P))
 };
 
 template<
-      typename BOOST_MPL_AUX_NA_PARAM(P)
+      typename NDNBOOST_MPL_AUX_NA_PARAM(P)
     >
 struct second
 {
-#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG)
+#if !defined(NDNBOOST_MPL_CFG_MSVC_70_ETI_BUG)
     typedef typename P::second type;
 #else
     typedef typename aux::msvc_eti_base<P>::second type;
 #endif
-    BOOST_MPL_AUX_LAMBDA_SUPPORT(1,second,(P))
+    NDNBOOST_MPL_AUX_LAMBDA_SUPPORT(1,second,(P))
 };
 
 
-BOOST_MPL_AUX_NA_SPEC_NO_ETI(2, pair)
-BOOST_MPL_AUX_NA_SPEC(1, first)
-BOOST_MPL_AUX_NA_SPEC(1, second)
+NDNBOOST_MPL_AUX_NA_SPEC_NO_ETI(2, pair)
+NDNBOOST_MPL_AUX_NA_SPEC(1, first)
+NDNBOOST_MPL_AUX_NA_SPEC(1, second)
 
 }}
 
-#endif // BOOST_MPL_PAIR_HPP_INCLUDED
+#endif // NDNBOOST_MPL_PAIR_HPP_INCLUDED
