diff --git a/include/opendht/dht.h b/include/opendht/dht.h
index 36b52612d7b9261711666e37bb4286cb8296b0d5..8ee291e060cdcc66663a59e07940e9c1cfe42e04 100644
--- a/include/opendht/dht.h
+++ b/include/opendht/dht.h
@@ -266,7 +266,7 @@ private:
     static constexpr unsigned LISTEN_NODES {3};
 
     /* The maximum number of values we store for a given hash. */
-    static constexpr unsigned MAX_VALUES {2048};
+    static constexpr unsigned MAX_VALUES {1024};
 
     /* The maximum number of hashes we're willing to track. */
     static constexpr unsigned MAX_HASHES {16384};
diff --git a/include/opendht/value.h b/include/opendht/value.h
index fa903a05196a284401606637d5927d250808cd49..23dbd7e43b61c9fecd605be91900ed2652e8c372 100644
--- a/include/opendht/value.h
+++ b/include/opendht/value.h
@@ -80,7 +80,7 @@ using StorePolicy = std::function<bool(InfoHash key, std::shared_ptr<Value>& val
  */
 using EditPolicy = std::function<bool(InfoHash key, const std::shared_ptr<Value>& old_val, std::shared_ptr<Value>& new_val, InfoHash from, const sockaddr* from_addr, socklen_t from_len)>;
 
-static constexpr const size_t MAX_VALUE_SIZE {1024 * 56};
+static constexpr const size_t MAX_VALUE_SIZE {1024 * 14};
 
 struct ValueType {
     typedef uint16_t Id;