diff --git a/buffet/http_request.cc b/buffet/http_request.cc
index d818b07..dfeac7f 100644
--- a/buffet/http_request.cc
+++ b/buffet/http_request.cc
@@ -5,12 +5,12 @@
 #include "buffet/http_request.h"
 
 #include <base/logging.h>
+#include <chromeos/map_utils.h>
 #include <chromeos/mime_utils.h>
 #include <chromeos/string_utils.h>
 
 #include "buffet/http_connection_curl.h"
 #include "buffet/http_transport_curl.h"
-#include "buffet/map_utils.h"
 
 namespace buffet {
 namespace http {
@@ -186,7 +186,7 @@
 bool Request::SendRequestIfNeeded(chromeos::ErrorPtr* error) {
   if (transport_) {
     if (!connection_) {
-      http::HeaderList headers = MapToVector(headers_);
+      http::HeaderList headers = chromeos::MapToVector(headers_);
       std::vector<std::string> ranges;
       if (method_ != request_type::kHead) {
         ranges.reserve(ranges_.size());
diff --git a/buffet/map_utils.h b/buffet/map_utils.h
deleted file mode 100644
index f5e3f30..0000000
--- a/buffet/map_utils.h
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2014 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef BUFFET_MAP_UTILS_H_
-#define BUFFET_MAP_UTILS_H_
-
-#include <map>
-#include <utility>
-#include <vector>
-
-namespace buffet {
-
-// Given an STL map returns a vector containing all keys from the map
-template<typename T>
-std::vector<typename T::key_type> GetMapKeys(const T& map) {
-  std::vector<typename T::key_type> keys;
-  keys.reserve(map.size());
-  for (const auto& pair : map)
-    keys.push_back(pair.first);
-  return keys;
-}
-
-// Given an STL map returns a vector containing all values from the map
-template<typename T>
-std::vector<typename T::mapped_type> GetMapValues(const T& map) {
-  std::vector<typename T::mapped_type> values;
-  values.reserve(map.size());
-  for (const auto& pair : map)
-    values.push_back(pair.second);
-  return values;
-}
-
-// Given an STL map returns a vector of key-value pairs from the map
-template<typename T>
-std::vector<std::pair<typename T::key_type,
-                      typename T::mapped_type>> MapToVector(const T& map) {
-  std::vector<std::pair<typename T::key_type, typename T::mapped_type>> vector;
-  vector.reserve(map.size());
-  for (const auto& pair : map)
-    vector.push_back(pair);
-  return vector;
-}
-
-}  // namespace buffet
-
-#endif  // BUFFET_MAP_UTILS_H_
