diff --git a/payload_generator/delta_diff_generator.cc b/payload_generator/delta_diff_generator.cc
index 78f66ab..4a8ecda 100644
--- a/payload_generator/delta_diff_generator.cc
+++ b/payload_generator/delta_diff_generator.cc
@@ -18,12 +18,12 @@
 #include <utility>
 #include <vector>
 
-#include <base/files/file_util.h>
 #include <base/files/file_path.h>
+#include <base/files/file_util.h>
 #include <base/logging.h>
+#include <base/strings/stringprintf.h>
 #include <base/strings/string_number_conversions.h>
 #include <base/strings/string_util.h>
-#include <base/strings/stringprintf.h>
 #include <bzlib.h>
 
 #include "update_engine/bzip.h"
@@ -209,7 +209,7 @@
   set<ino_t> visited_inodes;
   set<ino_t> visited_src_inodes;
   for (FilesystemIterator fs_iter(new_root,
-                                  utils::SetWithValue<string>("/lost+found"));
+                                  set<string>{"/lost+found"});
        !fs_iter.IsEnd(); fs_iter.Increment()) {
     // We never diff symlinks (here, we check that dst file is not a symlink).
     if (!S_ISREG(fs_iter.GetStat().st_mode))
diff --git a/utils.h b/utils.h
index 9eefbac..8a6510c 100644
--- a/utils.h
+++ b/utils.h
@@ -261,13 +261,6 @@
   return s.find(k) != s.end();
 }
 
-template<typename ValueType>
-std::set<ValueType> SetWithValue(const ValueType& value) {
-  std::set<ValueType> ret;
-  ret.insert(value);
-  return ret;
-}
-
 template<typename T>
 bool VectorContainsValue(const std::vector<T>& vect, const T& value) {
   return std::find(vect.begin(), vect.end(), value) != vect.end();
