diff --git a/source/RobotAPI/components/units/TCPControlUnit.cpp b/source/RobotAPI/components/units/TCPControlUnit.cpp
index c9279c4ed0f0110579bfc8dfc7c5e6f06eac2b3f..ccc88e9923269ba39be462610c3ca4fabbb92eaf 100644
--- a/source/RobotAPI/components/units/TCPControlUnit.cpp
+++ b/source/RobotAPI/components/units/TCPControlUnit.cpp
@@ -306,9 +306,9 @@ namespace armarx
     {
         ScopedTryLock lock(dataMutex);
 
+        if (lock.owns_lock())
         {
 
-            if (lock.owns_lock())
             {
                 localTcpVelocitiesMap.clear();
                 TCPVelocityDataMap::iterator it = tcpVelocitiesMap.begin();
@@ -331,23 +331,23 @@ namespace armarx
                 RemoteRobot::synchronizeLocalClone(localRobot, robotStateComponentPrx);
                 //ARMARX_DEBUG << "RN TCP R pose2:" << localRobot->getRobotNode("TCP R")->getGlobalPose();
             }
-        }
 
-        calculationRunning = true;
+            //calculationRunning = true;
 
-        if (requested)
-        {
-            //            if((IceUtil::Time::now()-lastCommandTime).toMilliSecondsDouble() > getProperty<float>("MaximumCommandDelay").getValue())
-            //            {
-            //                ARMARX_WARNING << "Exceeded MaximumCommandDelay - releasing TCPControlUnit";
-            //                calculationRunning = false;
-            //                release();                          <---- this is a potential deadlock
-            //            }
-            //            else
-            calcAndSetVelocities();
-        }
+            if (requested)
+            {
+                //            if((IceUtil::Time::now()-lastCommandTime).toMilliSecondsDouble() > getProperty<float>("MaximumCommandDelay").getValue())
+                //            {
+                //                ARMARX_WARNING << "Exceeded MaximumCommandDelay - releasing TCPControlUnit";
+                //                calculationRunning = false;
+                //                release();                          <---- this is a potential deadlock
+                //            }
+                //            else
+                calcAndSetVelocities();
+            }
 
-        calculationRunning = false;
+            //calculationRunning = false;
+        }
     }