diff --git a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp
index 069df7e68b00c64af70e770c8be7b11a77d23096..634600034fc789e8ddf4740a7bee948bd7ce36a0 100644
--- a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp
+++ b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.cpp
@@ -98,10 +98,14 @@ namespace armarx
         robotHead.debugObserver = debugObserver;
         robotHead.fetchDatafields();
 
-        decay.updateTask = new SimpleRunningTask([this]()
+        if (!decay.updateTask)
         {
-            this->decayUpdateRun();
-        });
+            decay.updateTask = new SimpleRunningTask<>([this]()
+            {
+                this->decayUpdateRun();
+            });
+            decay.updateTask->start();
+        }
 
         createRemoteGuiTab();
         RemoteGui_startRunningTask();
@@ -746,7 +750,7 @@ namespace armarx
         }
     }
 
-    void ObjectPoseObserver::updateDecayRun()
+    void ObjectPoseObserver::decayUpdateRun()
     {
         CycleUtil cycle(static_cast<int>(1000 / decay.updateFrequencyHz));
         while (decay.updateTask && !decay.updateTask->isStopped())
diff --git a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.h b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.h
index 2db380bf1a38b602ca7991e050a55153696f9e49..6f4cb8a0c0dfa17601a8b5d338b6d441724cd7eb 100644
--- a/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.h
+++ b/source/RobotAPI/components/ObjectPoseObserver/ObjectPoseObserver.h
@@ -150,7 +150,7 @@ namespace armarx
         void toIceWithAttachments(objpose::ObjectPoseSeq& objectPoses, VirtualRobot::RobotPtr agent,
                                   objpose::data::ObjectPoseSeq& result, bool& synchronized);
 
-        void updateDecayRun();
+        void decayUpdateRun();
 
 
     private: