diff --git a/monitor/fan.hpp b/monitor/fan.hpp
index 72f4eab..78d79b6 100644
--- a/monitor/fan.hpp
+++ b/monitor/fan.hpp
@@ -67,7 +67,7 @@
     Fan(const Fan&) = delete;
     Fan(Fan&&) = default;
     Fan& operator=(const Fan&) = delete;
-    Fan& operator=(Fan&&) = default;
+    Fan& operator=(Fan&&) = delete;
     ~Fan() = default;
 
     /**
diff --git a/monitor/nonzero_speed_trust.hpp b/monitor/nonzero_speed_trust.hpp
index 9001579..18fc92b 100644
--- a/monitor/nonzero_speed_trust.hpp
+++ b/monitor/nonzero_speed_trust.hpp
@@ -23,8 +23,8 @@
     ~NonzeroSpeed() = default;
     NonzeroSpeed(const NonzeroSpeed&) = delete;
     NonzeroSpeed& operator=(const NonzeroSpeed&) = delete;
-    NonzeroSpeed(NonzeroSpeed&&) = default;
-    NonzeroSpeed& operator=(NonzeroSpeed&&) = default;
+    NonzeroSpeed(NonzeroSpeed&&) = delete;
+    NonzeroSpeed& operator=(NonzeroSpeed&&) = delete;
 
     /**
      * Constructor
diff --git a/monitor/trust_group.hpp b/monitor/trust_group.hpp
index 001076b..c96bebc 100644
--- a/monitor/trust_group.hpp
+++ b/monitor/trust_group.hpp
@@ -47,8 +47,8 @@
     virtual ~Group() = default;
     Group(const Group&) = delete;
     Group& operator=(const Group&) = delete;
-    Group(Group&&) = default;
-    Group& operator=(Group&&) = default;
+    Group(Group&&) = delete;
+    Group& operator=(Group&&) = delete;
 
     /**
      * Constructor
