diff --git a/source/RobotAPI/libraries/Controllers/LVL0Controller.h b/source/RobotAPI/libraries/Controllers/LVL0Controller.h
index e38510288888bfc6b90ce0679b638f5f63c591b7..fafa5b0aca59b96aba3826132da871d6204e839c 100644
--- a/source/RobotAPI/libraries/Controllers/LVL0Controller.h
+++ b/source/RobotAPI/libraries/Controllers/LVL0Controller.h
@@ -50,7 +50,7 @@ namespace armarx
 
         TargetType* getTarget()
         {
-            return target;
+            return & target;
         }
 
         void resetTarget()
diff --git a/source/RobotAPI/libraries/Controllers/Targets/JointPositionTarget.h b/source/RobotAPI/libraries/Controllers/Targets/JointPositionTarget.h
index 9bc7d9d13e3ca59b209090e3e0156a2dd43c5bcc..39c788d5d893b483a359c54cacb57ca9170ab45e 100644
--- a/source/RobotAPI/libraries/Controllers/Targets/JointPositionTarget.h
+++ b/source/RobotAPI/libraries/Controllers/Targets/JointPositionTarget.h
@@ -46,11 +46,11 @@ namespace armarx
         {
             return ePositionControl;
         }
-        virtual void reset()
+        virtual void reset() override
         {
             position = ControllerConstatns::ValueNotSetNaN;
         }
-        bool isValid() const
+        virtual bool isValid() const override
         {
             return std::isfinite(position);
         }
diff --git a/source/RobotAPI/libraries/Controllers/Targets/JointPositionVelocityTarget.h b/source/RobotAPI/libraries/Controllers/Targets/JointPositionVelocityTarget.h
index d2622cc9167c5dcb5a2ba736623b62d059171a74..5cd022809d6ce77383cf743778272e9e2e93a270 100644
--- a/source/RobotAPI/libraries/Controllers/Targets/JointPositionVelocityTarget.h
+++ b/source/RobotAPI/libraries/Controllers/Targets/JointPositionVelocityTarget.h
@@ -47,12 +47,12 @@ namespace armarx
         {
             return ePositionVelocityControl;
         }
-        virtual void reset()
+        virtual void reset() override
         {
             position = ControllerConstatns::ValueNotSetNaN;
             velocity = ControllerConstatns::ValueNotSetNaN;
         }
-        bool isValid() const
+        virtual bool isValid() const override
         {
             return std::isfinite(position) && std::isfinite(velocity);
         }
diff --git a/source/RobotAPI/libraries/Controllers/Targets/JointTargetBase.h b/source/RobotAPI/libraries/Controllers/Targets/JointTargetBase.h
index 0dc9ee2b6ea27136b20722b7c4f3772a4f547374..d7077bde90f687d1e37a7d1f12d68143473e431a 100644
--- a/source/RobotAPI/libraries/Controllers/Targets/JointTargetBase.h
+++ b/source/RobotAPI/libraries/Controllers/Targets/JointTargetBase.h
@@ -43,6 +43,8 @@ namespace armarx
     {
     public:
         virtual ControlMode getType() const = 0;
+        virtual void reset() = 0;
+        virtual bool isValid() const = 0;
     };
 
 }
diff --git a/source/RobotAPI/libraries/Controllers/Targets/JointTorqueTarget.h b/source/RobotAPI/libraries/Controllers/Targets/JointTorqueTarget.h
index 8b4ffad81a3d10e690ee43a05e2283977ad4f9b5..84860c7564573317cbef6066b20670aef9068d46 100644
--- a/source/RobotAPI/libraries/Controllers/Targets/JointTorqueTarget.h
+++ b/source/RobotAPI/libraries/Controllers/Targets/JointTorqueTarget.h
@@ -46,11 +46,11 @@ namespace armarx
         {
             return eTorqueControl;
         }
-        virtual void reset()
+        virtual void reset() override
         {
             torque = ControllerConstatns::ValueNotSetNaN;
         }
-        bool isValid() const
+        virtual bool isValid() const override
         {
             return std::isfinite(torque);
         }
diff --git a/source/RobotAPI/libraries/Controllers/Targets/JointVelocityTarget.h b/source/RobotAPI/libraries/Controllers/Targets/JointVelocityTarget.h
index 8f44b2c055922fdf5714665b1631a4acc2da41cb..88265541bd6148a6d48c0d614b0d9d08d8cf04b7 100644
--- a/source/RobotAPI/libraries/Controllers/Targets/JointVelocityTarget.h
+++ b/source/RobotAPI/libraries/Controllers/Targets/JointVelocityTarget.h
@@ -46,11 +46,11 @@ namespace armarx
         {
             return eVelocityControl;
         }
-        virtual void reset()
+        virtual void reset() override
         {
             velocity = ControllerConstatns::ValueNotSetNaN;
         }
-        bool isValid() const
+        virtual bool isValid() const override
         {
             return std::isfinite(velocity);
         }