diff --git a/source/RobotAPI/libraries/core/PIDController.cpp b/source/RobotAPI/libraries/core/PIDController.cpp
index b1a957400d1c11f53559cb1ed7ef1cfdda87004c..ad4200c6dd2b43c3512afd8c5eee0af691d02504 100644
--- a/source/RobotAPI/libraries/core/PIDController.cpp
+++ b/source/RobotAPI/libraries/core/PIDController.cpp
@@ -23,6 +23,7 @@
  */
 
 #include "PIDController.h"
+#include <ArmarXCore/core/time/TimeUtil.h>
 #include <RobotAPI/libraries/core/math/MathUtils.h>
 
 using namespace armarx;
@@ -50,17 +51,17 @@ void PIDController::reset()
     firstRun = true;
     previousError = 0;
     integral = 0;
-    lastUpdateTime = IceUtil::Time::now();
+    lastUpdateTime = TimeUtil::GetTime();
 }
 
 void PIDController::update(double measuredValue, double targetValue)
 {
     ScopedRecursiveLock lock(mutex);
-    IceUtil::Time now = IceUtil::Time::now();
+    IceUtil::Time now = TimeUtil::GetTime();
 
     if (firstRun)
     {
-        lastUpdateTime = IceUtil::Time::now();
+        lastUpdateTime = TimeUtil::GetTime();
     }
 
     double dt = (now - lastUpdateTime).toSecondsDouble();
@@ -225,11 +226,11 @@ void MultiDimPIDController::update(const double deltaSec, const Eigen::VectorXf&
 void MultiDimPIDController::update(const Eigen::VectorXf& measuredValue, const Eigen::VectorXf& targetValue)
 {
     ScopedRecursiveLock lock(mutex);
-    IceUtil::Time now = IceUtil::Time::now();
+    IceUtil::Time now = TimeUtil::GetTime();
 
     if (firstRun)
     {
-        lastUpdateTime = IceUtil::Time::now();
+        lastUpdateTime = TimeUtil::GetTime();
     }
 
     double dt = (now - lastUpdateTime).toSecondsDouble();
@@ -248,7 +249,7 @@ void MultiDimPIDController::reset()
     firstRun = true;
     previousError = 0;
     integral = 0;
-    lastUpdateTime = IceUtil::Time::now();
+    lastUpdateTime = TimeUtil::GetTime();
     //    controlValue.setZero();
     //    processValue.setZero();
     //    target.setZero();