diff --git a/indra/llcommon/llsd.cpp b/indra/llcommon/llsd.cpp
index ca4fe23d5163664440ce1142fe5e8b86c201e959..ccb676edca4579110865e27eb14018b5bea3c028 100644
--- a/indra/llcommon/llsd.cpp
+++ b/indra/llcommon/llsd.cpp
@@ -195,7 +195,7 @@ namespace
 		LLSD::Type type() const override { return T; }
 
 		using LLSD::Impl::assign; // Unhiding base class virtuals...
-		virtual void assign(LLSD::Impl*& var, Data value) 
+        void assign(LLSD::Impl*& var, Data value) override
 		{
 			if (shared())
 			{
@@ -900,8 +900,8 @@ const LLSD::String& LLSD::asStringRef() const { return safe(impl).asStringRef();
 LLSD::LLSD(const char* v) : impl(0)		{ ALLOC_LLSD_OBJECT;	assign(v); }
 void LLSD::assign(const char* v)
 {
-	if(v) assign(std::move(std::string(v)));
-	else assign(std::move(std::string()));
+	if(v) assign(std::string(v));
+	else assign(std::string());
 }
 
 
diff --git a/indra/llcommon/llsdutil.cpp b/indra/llcommon/llsdutil.cpp
index 04f23f921e047039ce158ddaf67e1fdd65c32a8d..441d508d06510f32cb290f3e1ad34d63c06e0d99 100644
--- a/indra/llcommon/llsdutil.cpp
+++ b/indra/llcommon/llsdutil.cpp
@@ -968,7 +968,7 @@ LLSD llsd_clone(LLSD value, LLSD filter)
     case LLSD::TypeBinary:
     {
         LLSD::Binary bin(value.asBinary().begin(), value.asBinary().end());
-        clone = std::move(LLSD::Binary(std::move(bin)));
+        clone = LLSD::Binary(std::move(bin));
         break;
     }
     default: