diff --git a/src/security/identity.cpp b/src/security/identity.cpp
index 1093b9f..9b42ec5 100644
--- a/src/security/identity.cpp
+++ b/src/security/identity.cpp
@@ -103,7 +103,7 @@
   validityCheck();
 
   if (m_needRefreshKeys) {
-    m_keys = std::move(KeyContainer(m_name, m_impl->getKeysOfIdentity(m_name), m_impl));
+    m_keys = KeyContainer(m_name, m_impl->getKeysOfIdentity(m_name), m_impl);
     m_needRefreshKeys = false;
   }
 
@@ -115,7 +115,7 @@
 {
   validityCheck();
 
-  m_defaultKey = std::move(Key(m_name, keyId, m_impl));
+  m_defaultKey = Key(m_name, keyId, m_impl);
   m_hasDefaultKey = true;
 
   m_impl->setDefaultKeyOfIdentity(m_name, keyId);
@@ -135,7 +135,7 @@
   validityCheck();
 
   if (!m_hasDefaultKey) {
-    m_defaultKey = std::move(Key(m_name, m_impl->getDefaultKeyOfIdentity(m_name), m_impl));
+    m_defaultKey = Key(m_name, m_impl->getDefaultKeyOfIdentity(m_name), m_impl);
     m_hasDefaultKey = true;
   }
 
diff --git a/src/security/key.cpp b/src/security/key.cpp
index 48c8aa3..3d91cad 100644
--- a/src/security/key.cpp
+++ b/src/security/key.cpp
@@ -140,8 +140,7 @@
   validityCheck();
 
   if (m_needRefreshCerts) {
-    m_certificates = std::move(CertificateContainer(m_impl->getCertificatesOfKey(m_id, m_keyId),
-                                                    m_impl));
+    m_certificates = CertificateContainer(m_impl->getCertificatesOfKey(m_id, m_keyId), m_impl);
     m_needRefreshCerts = false;
   }
 
diff --git a/src/security/pib.cpp b/src/security/pib.cpp
index fd392f6..df366c9 100644
--- a/src/security/pib.cpp
+++ b/src/security/pib.cpp
@@ -87,7 +87,7 @@
 Pib::getIdentities() const
 {
   if (m_needRefreshIdentities) {
-    m_identities = std::move(IdentityContainer(m_impl->getIdentities(), m_impl));
+    m_identities = IdentityContainer(m_impl->getIdentities(), m_impl);
     m_needRefreshIdentities = false;
   }
 
@@ -108,7 +108,7 @@
 Pib::getDefaultIdentity() const
 {
   if (!m_hasDefaultIdentity) {
-    m_defaultIdentity = std::move(Identity(m_impl->getDefaultIdentity(), m_impl, false));
+    m_defaultIdentity = Identity(m_impl->getDefaultIdentity(), m_impl, false);
     m_hasDefaultIdentity = true;
   }
 
