diff --git a/source/RobotAPI/libraries/core/PIDController.cpp b/source/RobotAPI/libraries/core/PIDController.cpp
index e6774b8203148bfde9eb9744f7e2fcf1e895ea1d..855185688f64fbc3e4186740355ac64bfecc16be 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();
@@ -219,11 +220,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();
@@ -242,7 +243,7 @@ void MultiDimPIDController::reset()
     firstRun = true;
     previousError = 0;
     integral = 0;
-    lastUpdateTime = IceUtil::Time::now();
+    lastUpdateTime = TimeUtil::GetTime();
     //    controlValue.setZero();
     //    processValue.setZero();
     //    target.setZero();