diff --git a/common/dataStructures/DesiredDriveState.cpp b/common/dataStructures/DesiredDriveState.cpp
index f60b92769579f636fc226e4aab78be9c31ecccbc..ab93e8fb87cb32ff208d41914ed4479cbb9a076a 100644
--- a/common/dataStructures/DesiredDriveState.cpp
+++ b/common/dataStructures/DesiredDriveState.cpp
@@ -23,6 +23,8 @@ namespace cta {
 namespace common {
 namespace dataStructures {
 
+DesiredDriveState::DesiredDriveState():up(false),forceDown(false){}  
+  
 DesiredDriveState::DesiredDriveState(const DesiredDriveState& ds) {
   if(this != &ds){
     up = ds.up;
diff --git a/common/dataStructures/DesiredDriveState.hpp b/common/dataStructures/DesiredDriveState.hpp
index 87879118b77883abe0b2957e6bfb3802071afca9..bfd9b411d8f20dfa9edd3e15e4ffca9de26bde5a 100644
--- a/common/dataStructures/DesiredDriveState.hpp
+++ b/common/dataStructures/DesiredDriveState.hpp
@@ -30,7 +30,9 @@ namespace dataStructures {
  * The values are reset to all false when the drive goes down (including
  * at startup).
  */
-struct DesiredDriveState {
+class DesiredDriveState {
+public:
+  DesiredDriveState();
   DesiredDriveState(const DesiredDriveState & ds);
   DesiredDriveState & operator=(const DesiredDriveState & ds);
   bool up;        ///< Should the drive be up?
@@ -40,7 +42,6 @@ struct DesiredDriveState {
   bool operator==(const DesiredDriveState &rhs) const {
     return up == rhs.up && forceDown == rhs.forceDown;
   }
-  DesiredDriveState(){}
   static std::string c_tpsrvPrefixComment;
   void setReasonFromLogMsg(const int logLevel, const std::string & msg);
   static std::string generateReasonFromLogMsg(const int logLevel, const std::string & msg);