diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp
index 70f26747..91de782f 100644
--- a/include/nlohmann/json.hpp
+++ b/include/nlohmann/json.hpp
@@ -953,7 +953,7 @@ class basic_json
         /// constructor for rvalue strings
         json_value(string_t&& value)
         {
-            string = create<string_t>(std::forward < string_t&& > (value));
+            string = create<string_t>(std::move(value));
         }
 
         /// constructor for objects
@@ -965,7 +965,7 @@ class basic_json
         /// constructor for rvalue objects
         json_value(object_t&& value)
         {
-            object = create<object_t>(std::forward < object_t&& > (value));
+            object = create<object_t>(std::move(value));
         }
 
         /// constructor for arrays
@@ -977,7 +977,7 @@ class basic_json
         /// constructor for rvalue arrays
         json_value(array_t&& value)
         {
-            array = create<array_t>(std::forward < array_t&& > (value));
+            array = create<array_t>(std::move(value));
         }
 
         void destroy(value_t t) noexcept
diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
index 8726ccd8..1d8e4e82 100644
--- a/single_include/nlohmann/json.hpp
+++ b/single_include/nlohmann/json.hpp
@@ -10562,7 +10562,7 @@ class basic_json
         /// constructor for rvalue strings
         json_value(string_t&& value)
         {
-            string = create<string_t>(std::forward < string_t&& > (value));
+            string = create<string_t>(std::move(value));
         }
 
         /// constructor for objects
@@ -10574,7 +10574,7 @@ class basic_json
         /// constructor for rvalue objects
         json_value(object_t&& value)
         {
-            object = create<object_t>(std::forward < object_t&& > (value));
+            object = create<object_t>(std::move(value));
         }
 
         /// constructor for arrays
@@ -10586,7 +10586,7 @@ class basic_json
         /// constructor for rvalue arrays
         json_value(array_t&& value)
         {
-            array = create<array_t>(std::forward < array_t&& > (value));
+            array = create<array_t>(std::move(value));
         }
 
         void destroy(value_t t) noexcept