diff --git a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp
index 9c46175607dfd0b7288cbce35d9b887572747be7..53a516e7beeeb7119ed6bc04991e58ed9eaa23ff 100644
--- a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp
+++ b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp
@@ -1277,7 +1277,7 @@ void KinematicUnitWidgetController::highlightCriticalValues()
     // check robot current value of nodes
     for (unsigned int i = 0; i < rn.size(); i++)
     {
-        bool isZero = true;
+        bool isStatic = true;
         float smoothedValue = 0;
 
         for (auto historyIt = jointCurrentHistory.begin(); historyIt != jointCurrentHistory.end(); historyIt++)
@@ -1294,9 +1294,9 @@ void KinematicUnitWidgetController::highlightCriticalValues()
 
             smoothedValue = 0.5f * currentValue + 0.5f * smoothedValue;
 
-            if (currentValue != 0)
+            if (currentValue != jointCurrentHistory.begin()->second.find(rn[i]->getName())->second)
             {
-                isZero = false;
+                isStatic = false;
             }
         }
 
@@ -1304,7 +1304,7 @@ void KinematicUnitWidgetController::highlightCriticalValues()
         it = reportedJointStatuses.find(rn[i]->getName());
         JointStatus currentStatus = it->second;
 
-        if (isZero)
+        if (isStatic)
         {
             if (currentStatus.operation != eOffline)
             {