diff --git a/utils/trie/trie.hpp b/utils/trie/trie.hpp
index 04ed980..dd10e6d 100644
--- a/utils/trie/trie.hpp
+++ b/utils/trie/trie.hpp
@@ -30,7 +30,7 @@
 #include <boost/intrusive/set.hpp>
 #include <boost/functional/hash.hpp>
 #include <boost/interprocess/smart_ptr/unique_ptr.hpp>
-#include <boost/tuple/tuple.hpp>
+#include <tuple>
 #include <boost/foreach.hpp>
 #include <boost/mpl/if.hpp>
 
@@ -274,7 +274,7 @@
     }
   }
 
-  // inline boost::tuple<const iterator, bool, const iterator>
+  // inline std::tuple<const iterator, bool, const iterator>
   // find (const FullKey &key) const
   // {
   //   return const_cast<trie*> (this)->find (key);
@@ -286,7 +286,7 @@
    *
    * @return ->second is true if prefix in ->first is longer than key
    */
-  inline boost::tuple<iterator, bool, iterator>
+  inline std::tuple<iterator, bool, iterator>
   find(const FullKey& key)
   {
     trie* trieNode = this;
@@ -307,7 +307,7 @@
       }
     }
 
-    return boost::make_tuple(foundNode, reachLast, trieNode);
+    return std::make_tuple(foundNode, reachLast, trieNode);
   }
 
   /**
@@ -317,7 +317,7 @@
    * @return ->second is true if prefix in ->first is longer than key
    */
   template<class Predicate>
-  inline boost::tuple<iterator, bool, iterator>
+  inline std::tuple<iterator, bool, iterator>
   find_if(const FullKey& key, Predicate pred)
   {
     trie* trieNode = this;
@@ -339,7 +339,7 @@
       }
     }
 
-    return boost::make_tuple(foundNode, reachLast, trieNode);
+    return std::make_tuple(foundNode, reachLast, trieNode);
   }
 
   /**
