diff --git a/fw-update/device_updater.hpp b/fw-update/device_updater.hpp
index dcda263..6d96da8 100644
--- a/fw-update/device_updater.hpp
+++ b/fw-update/device_updater.hpp
@@ -29,7 +29,7 @@
     DeviceUpdater(const DeviceUpdater&) = delete;
     DeviceUpdater(DeviceUpdater&&) = default;
     DeviceUpdater& operator=(const DeviceUpdater&) = delete;
-    DeviceUpdater& operator=(DeviceUpdater&&) = default;
+    DeviceUpdater& operator=(DeviceUpdater&&) = delete;
     ~DeviceUpdater() = default;
 
     /** @brief Constructor
diff --git a/fw-update/package_parser.hpp b/fw-update/package_parser.hpp
index c132a45..2192acc 100644
--- a/fw-update/package_parser.hpp
+++ b/fw-update/package_parser.hpp
@@ -32,7 +32,7 @@
     PackageParser(const PackageParser&) = delete;
     PackageParser(PackageParser&&) = default;
     PackageParser& operator=(const PackageParser&) = delete;
-    PackageParser& operator=(PackageParser&&) = default;
+    PackageParser& operator=(PackageParser&&) = delete;
     virtual ~PackageParser() = default;
 
     /** @brief Constructor
@@ -153,7 +153,7 @@
     PackageParserV1(const PackageParserV1&) = delete;
     PackageParserV1(PackageParserV1&&) = default;
     PackageParserV1& operator=(const PackageParserV1&) = delete;
-    PackageParserV1& operator=(PackageParserV1&&) = default;
+    PackageParserV1& operator=(PackageParserV1&&) = delete;
     ~PackageParserV1() = default;
 
     /** @brief Constructor
diff --git a/pldmtool/oem/ibm/pldm_oem_ibm.cpp b/pldmtool/oem/ibm/pldm_oem_ibm.cpp
index cdaa2d5..100857e 100644
--- a/pldmtool/oem/ibm/pldm_oem_ibm.cpp
+++ b/pldmtool/oem/ibm/pldm_oem_ibm.cpp
@@ -37,7 +37,7 @@
     GetAlertStatus(const GetAlertStatus&) = delete;
     GetAlertStatus(GetAlertStatus&&) = default;
     GetAlertStatus& operator=(const GetAlertStatus&) = delete;
-    GetAlertStatus& operator=(GetAlertStatus&&) = default;
+    GetAlertStatus& operator=(GetAlertStatus&&) = delete;
 
     explicit GetAlertStatus(const char* type, const char* name, CLI::App* app) :
         CommandInterface(type, name, app)
@@ -99,7 +99,7 @@
     GetFileTable(const GetFileTable&) = delete;
     GetFileTable(GetFileTable&&) = default;
     GetFileTable& operator=(const GetFileTable&) = delete;
-    GetFileTable& operator=(GetFileTable&&) = default;
+    GetFileTable& operator=(GetFileTable&&) = delete;
 
     using CommandInterface::CommandInterface;
 
diff --git a/pldmtool/pldm_base_cmd.cpp b/pldmtool/pldm_base_cmd.cpp
index ef2a1a5..c755b31 100644
--- a/pldmtool/pldm_base_cmd.cpp
+++ b/pldmtool/pldm_base_cmd.cpp
@@ -89,7 +89,7 @@
     GetPLDMTypes(const GetPLDMTypes&) = delete;
     GetPLDMTypes(GetPLDMTypes&&) = default;
     GetPLDMTypes& operator=(const GetPLDMTypes&) = delete;
-    GetPLDMTypes& operator=(GetPLDMTypes&&) = default;
+    GetPLDMTypes& operator=(GetPLDMTypes&&) = delete;
 
     using CommandInterface::CommandInterface;
 
@@ -151,7 +151,7 @@
     GetPLDMVersion(const GetPLDMVersion&) = delete;
     GetPLDMVersion(GetPLDMVersion&&) = default;
     GetPLDMVersion& operator=(const GetPLDMVersion&) = delete;
-    GetPLDMVersion& operator=(GetPLDMVersion&&) = default;
+    GetPLDMVersion& operator=(GetPLDMVersion&&) = delete;
 
     explicit GetPLDMVersion(const char* type, const char* name, CLI::App* app) :
         CommandInterface(type, name, app)
@@ -212,7 +212,7 @@
     GetTID(const GetTID&) = delete;
     GetTID(GetTID&&) = default;
     GetTID& operator=(const GetTID&) = delete;
-    GetTID& operator=(GetTID&&) = default;
+    GetTID& operator=(GetTID&&) = delete;
 
     using CommandInterface::CommandInterface;
 
@@ -250,7 +250,7 @@
     GetPLDMCommands(const GetPLDMCommands&) = delete;
     GetPLDMCommands(GetPLDMCommands&&) = default;
     GetPLDMCommands& operator=(const GetPLDMCommands&) = delete;
-    GetPLDMCommands& operator=(GetPLDMCommands&&) = default;
+    GetPLDMCommands& operator=(GetPLDMCommands&&) = delete;
 
     explicit GetPLDMCommands(const char* type, const char* name,
                              CLI::App* app) :
diff --git a/pldmtool/pldm_bios_cmd.cpp b/pldmtool/pldm_bios_cmd.cpp
index f4c5ecc..3466882 100644
--- a/pldmtool/pldm_bios_cmd.cpp
+++ b/pldmtool/pldm_bios_cmd.cpp
@@ -41,7 +41,7 @@
     GetDateTime(const GetDateTime&) = delete;
     GetDateTime(GetDateTime&&) = default;
     GetDateTime& operator=(const GetDateTime&) = delete;
-    GetDateTime& operator=(GetDateTime&&) = default;
+    GetDateTime& operator=(GetDateTime&&) = delete;
 
     using CommandInterface::CommandInterface;
 
@@ -97,7 +97,7 @@
     SetDateTime(const SetDateTime&) = delete;
     SetDateTime(SetDateTime&&) = default;
     SetDateTime& operator=(const SetDateTime&) = delete;
-    SetDateTime& operator=(SetDateTime&&) = default;
+    SetDateTime& operator=(SetDateTime&&) = delete;
 
     explicit SetDateTime(const char* type, const char* name, CLI::App* app) :
         CommandInterface(type, name, app)
@@ -456,9 +456,9 @@
     ~GetBIOSTable() = default;
     GetBIOSTable() = delete;
     GetBIOSTable(const GetBIOSTable&) = delete;
-    GetBIOSTable(GetBIOSTable&&) = default;
+    GetBIOSTable(GetBIOSTable&&) = delete;
     GetBIOSTable& operator=(const GetBIOSTable&) = delete;
-    GetBIOSTable& operator=(GetBIOSTable&&) = default;
+    GetBIOSTable& operator=(GetBIOSTable&&) = delete;
 
     using Table = std::vector<uint8_t>;
 
@@ -774,11 +774,11 @@
     ~SetBIOSAttributeCurrentValue() = default;
     SetBIOSAttributeCurrentValue() = delete;
     SetBIOSAttributeCurrentValue(const SetBIOSAttributeCurrentValue&) = delete;
-    SetBIOSAttributeCurrentValue(SetBIOSAttributeCurrentValue&&) = default;
+    SetBIOSAttributeCurrentValue(SetBIOSAttributeCurrentValue&&) = delete;
     SetBIOSAttributeCurrentValue&
         operator=(const SetBIOSAttributeCurrentValue&) = delete;
     SetBIOSAttributeCurrentValue&
-        operator=(SetBIOSAttributeCurrentValue&&) = default;
+        operator=(SetBIOSAttributeCurrentValue&&) = delete;
 
     explicit SetBIOSAttributeCurrentValue(const char* type, const char* name,
                                           CLI::App* app) :
diff --git a/pldmtool/pldm_fru_cmd.cpp b/pldmtool/pldm_fru_cmd.cpp
index 39e7e51..8c353c8 100644
--- a/pldmtool/pldm_fru_cmd.cpp
+++ b/pldmtool/pldm_fru_cmd.cpp
@@ -35,7 +35,7 @@
     GetFruRecordTableMetadata(GetFruRecordTableMetadata&&) = default;
     GetFruRecordTableMetadata&
         operator=(const GetFruRecordTableMetadata&) = delete;
-    GetFruRecordTableMetadata& operator=(GetFruRecordTableMetadata&&) = default;
+    GetFruRecordTableMetadata& operator=(GetFruRecordTableMetadata&&) = delete;
 
     using CommandInterface::CommandInterface;
 
@@ -408,7 +408,7 @@
     GetFruRecordTable(const GetFruRecordTable&) = delete;
     GetFruRecordTable(GetFruRecordTable&&) = default;
     GetFruRecordTable& operator=(const GetFruRecordTable&) = delete;
-    GetFruRecordTable& operator=(GetFruRecordTable&&) = default;
+    GetFruRecordTable& operator=(GetFruRecordTable&&) = delete;
 
     using CommandInterface::CommandInterface;
     std::pair<int, std::vector<uint8_t>> createRequestMsg() override
diff --git a/pldmtool/pldm_fw_update_cmd.cpp b/pldmtool/pldm_fw_update_cmd.cpp
index 87c4d6e..3466e54 100644
--- a/pldmtool/pldm_fw_update_cmd.cpp
+++ b/pldmtool/pldm_fw_update_cmd.cpp
@@ -80,7 +80,7 @@
     GetStatus(const GetStatus&) = delete;
     GetStatus(GetStatus&&) = default;
     GetStatus& operator=(const GetStatus&) = delete;
-    GetStatus& operator=(GetStatus&&) = default;
+    GetStatus& operator=(GetStatus&&) = delete;
 
     using CommandInterface::CommandInterface;
 
@@ -170,7 +170,7 @@
     GetFwParams(const GetFwParams&) = delete;
     GetFwParams(GetFwParams&&) = default;
     GetFwParams& operator=(const GetFwParams&) = delete;
-    GetFwParams& operator=(GetFwParams&&) = default;
+    GetFwParams& operator=(GetFwParams&&) = delete;
 
     using CommandInterface::CommandInterface;
 
@@ -416,7 +416,7 @@
     QueryDeviceIdentifiers(const QueryDeviceIdentifiers&) = delete;
     QueryDeviceIdentifiers(QueryDeviceIdentifiers&&) = default;
     QueryDeviceIdentifiers& operator=(const QueryDeviceIdentifiers&) = delete;
-    QueryDeviceIdentifiers& operator=(QueryDeviceIdentifiers&&) = default;
+    QueryDeviceIdentifiers& operator=(QueryDeviceIdentifiers&&) = delete;
 
     /**
      * @brief Implementation of createRequestMsg for QueryDeviceIdentifiers
diff --git a/pldmtool/pldm_platform_cmd.cpp b/pldmtool/pldm_platform_cmd.cpp
index 259ca40..e141312 100644
--- a/pldmtool/pldm_platform_cmd.cpp
+++ b/pldmtool/pldm_platform_cmd.cpp
@@ -58,7 +58,7 @@
     GetPDR(const GetPDR&) = delete;
     GetPDR(GetPDR&&) = default;
     GetPDR& operator=(const GetPDR&) = delete;
-    GetPDR& operator=(GetPDR&&) = default;
+    GetPDR& operator=(GetPDR&&) = delete;
 
     using CommandInterface::CommandInterface;
 
@@ -1068,7 +1068,7 @@
     SetStateEffecter(const SetStateEffecter&) = delete;
     SetStateEffecter(SetStateEffecter&&) = default;
     SetStateEffecter& operator=(const SetStateEffecter&) = delete;
-    SetStateEffecter& operator=(SetStateEffecter&&) = default;
+    SetStateEffecter& operator=(SetStateEffecter&&) = delete;
 
     // compositeEffecterCount(value: 0x01 to 0x08) * stateField(2)
     static constexpr auto maxEffecterDataSize = 16;
@@ -1163,7 +1163,7 @@
     SetNumericEffecterValue(const SetNumericEffecterValue&) = delete;
     SetNumericEffecterValue(SetNumericEffecterValue&&) = default;
     SetNumericEffecterValue& operator=(const SetNumericEffecterValue&) = delete;
-    SetNumericEffecterValue& operator=(SetNumericEffecterValue&&) = default;
+    SetNumericEffecterValue& operator=(SetNumericEffecterValue&&) = delete;
 
     explicit SetNumericEffecterValue(const char* type, const char* name,
                                      CLI::App* app) :
@@ -1245,7 +1245,7 @@
     GetStateSensorReadings(const GetStateSensorReadings&) = delete;
     GetStateSensorReadings(GetStateSensorReadings&&) = default;
     GetStateSensorReadings& operator=(const GetStateSensorReadings&) = delete;
-    GetStateSensorReadings& operator=(GetStateSensorReadings&&) = default;
+    GetStateSensorReadings& operator=(GetStateSensorReadings&&) = delete;
 
     explicit GetStateSensorReadings(const char* type, const char* name,
                                     CLI::App* app) :
diff --git a/pldmtool/pldmtool.cpp b/pldmtool/pldmtool.cpp
index b8fe5a9..cecc965 100644
--- a/pldmtool/pldmtool.cpp
+++ b/pldmtool/pldmtool.cpp
@@ -29,7 +29,7 @@
     RawOp(const RawOp&) = delete;
     RawOp(RawOp&&) = default;
     RawOp& operator=(const RawOp&) = delete;
-    RawOp& operator=(RawOp&&) = default;
+    RawOp& operator=(RawOp&&) = delete;
 
     explicit RawOp(const char* type, const char* name, CLI::App* app) :
         CommandInterface(type, name, app)
diff --git a/requester/request.hpp b/requester/request.hpp
index 2c216da..62615f8 100644
--- a/requester/request.hpp
+++ b/requester/request.hpp
@@ -34,9 +34,9 @@
   public:
     RequestRetryTimer() = delete;
     RequestRetryTimer(const RequestRetryTimer&) = delete;
-    RequestRetryTimer(RequestRetryTimer&&) = default;
+    RequestRetryTimer(RequestRetryTimer&&) = delete;
     RequestRetryTimer& operator=(const RequestRetryTimer&) = delete;
-    RequestRetryTimer& operator=(RequestRetryTimer&&) = default;
+    RequestRetryTimer& operator=(RequestRetryTimer&&) = delete;
     virtual ~RequestRetryTimer() = default;
 
     /** @brief Constructor
@@ -135,9 +135,9 @@
   public:
     Request() = delete;
     Request(const Request&) = delete;
-    Request(Request&&) = default;
+    Request(Request&&) = delete;
     Request& operator=(const Request&) = delete;
-    Request& operator=(Request&&) = default;
+    Request& operator=(Request&&) = delete;
     ~Request() = default;
 
     /** @brief Constructor
