diff --git a/include/ndnboost/throw_exception.hpp b/include/ndnboost/throw_exception.hpp
index 08cef38..9ee3ca5 100644
--- a/include/ndnboost/throw_exception.hpp
+++ b/include/ndnboost/throw_exception.hpp
@@ -1,9 +1,9 @@
 #ifndef UUID_AA15E74A856F11E08B8D93F24824019B
 #define UUID_AA15E74A856F11E08B8D93F24824019B
-#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(__GNUC__) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma GCC system_header
 #endif
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(push,1)
 #endif
 
@@ -31,25 +31,25 @@
 #include <ndnboost/config.hpp>
 #include <exception>
 
-#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x593) )
-# define BOOST_EXCEPTION_DISABLE
+#if !defined( NDNBOOST_EXCEPTION_DISABLE ) && defined( __BORLANDC__ ) && NDNBOOST_WORKAROUND( __BORLANDC__, NDNBOOST_TESTED_AT(0x593) )
+# define NDNBOOST_EXCEPTION_DISABLE
 #endif
 
-#if !defined( BOOST_EXCEPTION_DISABLE ) && defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1310 )
-# define BOOST_EXCEPTION_DISABLE
+#if !defined( NDNBOOST_EXCEPTION_DISABLE ) && defined( NDNBOOST_MSVC ) && NDNBOOST_WORKAROUND( NDNBOOST_MSVC, < 1310 )
+# define NDNBOOST_EXCEPTION_DISABLE
 #endif
 
-#if !defined( BOOST_EXCEPTION_DISABLE )
+#if !defined( NDNBOOST_EXCEPTION_DISABLE )
 # include <ndnboost/exception/exception.hpp>
 # include <ndnboost/current_function.hpp>
-# define BOOST_THROW_EXCEPTION(x) ::ndnboost::exception_detail::throw_exception_(x,BOOST_CURRENT_FUNCTION,__FILE__,__LINE__)
+# define NDNBOOST_THROW_EXCEPTION(x) ::ndnboost::exception_detail::throw_exception_(x,NDNBOOST_CURRENT_FUNCTION,__FILE__,__LINE__)
 #else
-# define BOOST_THROW_EXCEPTION(x) ::ndnboost::throw_exception(x)
+# define NDNBOOST_THROW_EXCEPTION(x) ::ndnboost::throw_exception(x)
 #endif
 
 namespace ndnboost
 {
-#ifdef BOOST_NO_EXCEPTIONS
+#ifdef NDNBOOST_NO_EXCEPTIONS
 
 void throw_exception( std::exception const & e ); // user defined
 
@@ -57,13 +57,13 @@
 
 inline void throw_exception_assert_compatibility( std::exception const & ) { }
 
-template<class E> BOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const & e )
+template<class E> NDNBOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const & e )
 {
     //All boost exceptions are required to derive from std::exception,
-    //to ensure compatibility with BOOST_NO_EXCEPTIONS.
+    //to ensure compatibility with NDNBOOST_NO_EXCEPTIONS.
     throw_exception_assert_compatibility(e);
 
-#ifndef BOOST_EXCEPTION_DISABLE
+#ifndef NDNBOOST_EXCEPTION_DISABLE
     throw enable_current_exception(enable_error_info(e));
 #else
     throw e;
@@ -72,12 +72,12 @@
 
 #endif
 
-#if !defined( BOOST_EXCEPTION_DISABLE )
+#if !defined( NDNBOOST_EXCEPTION_DISABLE )
     namespace
     exception_detail
     {
         template <class E>
-        BOOST_ATTRIBUTE_NORETURN
+        NDNBOOST_ATTRIBUTE_NORETURN
         void
         throw_exception_( E const & x, char const * current_function, char const * file, int line )
         {
@@ -94,7 +94,7 @@
 #endif
 } // namespace ndnboost
 
-#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+#if defined(_MSC_VER) && !defined(NDNBOOST_EXCEPTION_ENABLE_WARNINGS)
 #pragma warning(pop)
 #endif
 #endif
