diff --git a/include/nlohmann/ordered_map.hpp b/include/nlohmann/ordered_map.hpp
index bb5dfe4e..58c54845 100644
--- a/include/nlohmann/ordered_map.hpp
+++ b/include/nlohmann/ordered_map.hpp
@@ -11,8 +11,8 @@ namespace nlohmann
 /// ordered_map: a minimal map-like container that preserves insertion order
 /// for use within nlohmann::basic_json<ordered_map>
 template <class Key, class T, class IgnoredLess = std::less<Key>,
-          class Allocator = std::allocator<std::pair<Key, T>>,
-          class Container = std::vector<std::pair<Key, T>, Allocator>>
+          class Allocator = std::allocator<std::pair<const Key, T>>,
+          class Container = std::vector<std::pair<const Key, T>, Allocator>>
 struct ordered_map : Container
 {
     using key_type = Key;
diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
index 18cd4a38..937d5b0e 100644
--- a/single_include/nlohmann/json.hpp
+++ b/single_include/nlohmann/json.hpp
@@ -15880,8 +15880,8 @@ namespace nlohmann
 /// ordered_map: a minimal map-like container that preserves insertion order
 /// for use within nlohmann::basic_json<ordered_map>
 template <class Key, class T, class IgnoredLess = std::less<Key>,
-          class Allocator = std::allocator<std::pair<Key, T>>,
-          class Container = std::vector<std::pair<Key, T>, Allocator>>
+          class Allocator = std::allocator<std::pair<const Key, T>>,
+          class Container = std::vector<std::pair<const Key, T>, Allocator>>
 struct ordered_map : Container
 {
     using key_type = Key;