diff --git a/libcorpus2/io/rft.cpp b/libcorpus2/io/rft.cpp
index 8f28008dafccacd006d0656fa87a81844df67257..d7366c370986b6baea9a01eedb292c6925b85fc2 100644
--- a/libcorpus2/io/rft.cpp
+++ b/libcorpus2/io/rft.cpp
@@ -19,6 +19,7 @@ or FITNESS FOR A PARTICULAR PURPOSE.
 #include <libpwrutils/foreach.h>
 
 #include <boost/algorithm/string.hpp>
+#include <boost/algorithm/string/predicate.hpp>
 #include <boost/make_shared.hpp>
 #include <fstream>
 
@@ -143,7 +144,7 @@ Sentence::Ptr RftReader::actual_next_sentence()
 	while (is().good()) {
 		std::getline(is(), line);
 		if (line.empty()
-			|| (mbt_dialect_ && line.find_first_of("<utt>") == 0)) { // TODO: check
+			|| (mbt_dialect_ && boost::starts_with(line, "<utt>"))) {
 			return s;
 		} else {
 			size_t tab = line.find('\t');