--- c++/src/corelib/test_boost.cpp	2017-04-27 11:53:27.000000000 +0000
+++ c++/src/corelib/test_boost.cpp.new	2018-07-10 22:01:48.108080764 +0000
@@ -274,11 +274,16 @@
     virtual
     void log_entry_finish (ostream& ostr);
 
-#if BOOST_VERSION >= 105900
     virtual
     void entry_context_start(ostream& ostr, but::log_level l);
+#if BOOST_VERSION >= 106500
+    virtual
+    void log_entry_context(ostream& ostr, but::log_level l, but::const_string value);
 
     virtual
+    void entry_context_finish (ostream& ostr,  but::log_level l);
+#elif BOOST_VERSION >= 105900
+    virtual
     void log_entry_context(ostream& ostr, but::const_string value);
 
     virtual
@@ -2118,7 +2123,24 @@
     m_Upper->log_entry_finish(ostr);
 }
 
-#if BOOST_VERSION >= 105900
+#if BOOST_VERSION >= 106500
+void CNcbiBoostLogger::entry_context_start(ostream& ostr, but::log_level l)
+{
+    m_Upper->entry_context_start(ostr, l);
+}
+
+void CNcbiBoostLogger::log_entry_context(ostream& ostr,
+                                         but::log_level l,
+                                         but::const_string value)
+{
+    m_Upper->log_entry_context(ostr, l, value);
+}
+
+void CNcbiBoostLogger::entry_context_finish (ostream& ostr, but::log_level l)
+{
+    m_Upper->entry_context_finish(ostr, l);
+}
+#elif BOOST_VERSION >= 105900
 void CNcbiBoostLogger::entry_context_start(ostream& ostr, but::log_level l)
 {
     m_Upper->entry_context_start(ostr, l);
--- c++/src/corelib/teamcity_boost.cpp	2017-05-03 11:23:39.000000000 +0000
+++ c++/src/corelib/teamcity_boost.cpp.new	2018-07-10 22:19:09.597784663 +0000
@@ -81,8 +81,14 @@
     virtual void log_entry_finish(std::ostream&);
 
     virtual void entry_context_start(std::ostream&, boost::unit_test::log_level);
+#if BOOST_VERSION >= 106500
+    virtual void log_entry_context(std::ostream&, boost::unit_test::log_level, boost::unit_test::const_string);
+    virtual void entry_context_finish (std::ostream&,  boost::unit_test::log_level);
+#else
     virtual void log_entry_context(std::ostream&, boost::unit_test::const_string);
     virtual void entry_context_finish(std::ostream&);
+
+#endif
 };
 
 // Fake fixture to register formatter
@@ -205,14 +211,24 @@
     currentContextDetails = initial_msg;
 }
 
+#if BOOST_VERSION >= 106500
+void TeamcityBoostLogFormatter::log_entry_context(std::ostream &out, boost::unit_test::log_level l, boost::unit_test::const_string ctx) {
+    out << "\n " << ctx;
+    currentContextDetails += "\n " + toString(ctx);
+}
+void TeamcityBoostLogFormatter::entry_context_finish(std::ostream &out, boost::unit_test::log_level l) {
+    out.flush();
+    messages.testOutput(CURRENT_TEST_NAME, currentContextDetails, flowId, TeamcityMessages::StdErr);
+}
+#else
 void TeamcityBoostLogFormatter::log_entry_context(std::ostream &out, boost::unit_test::const_string ctx) {
     out << "\n " << ctx;
     currentContextDetails += "\n " + toString(ctx);
 }
-
 void TeamcityBoostLogFormatter::entry_context_finish(std::ostream &out) {
     out.flush();
     messages.testOutput(CURRENT_TEST_NAME, currentContextDetails, flowId, TeamcityMessages::StdErr);
 }
+#endif
 
 }}                                                          // namespace teamcity, jetbrains
