diff --git a/source/RobotAPI/gui-plugins/SensorActorWidgetsPlugin/ArmarXPlotter/ArmarXPlotter.cpp b/source/RobotAPI/gui-plugins/SensorActorWidgetsPlugin/ArmarXPlotter/ArmarXPlotter.cpp
index 4fcc2b7baceb5e3b56a48bd46353d8c30be35ac0..1be42dea58db8198ebbc1e3362e17592a25487af 100644
--- a/source/RobotAPI/gui-plugins/SensorActorWidgetsPlugin/ArmarXPlotter/ArmarXPlotter.cpp
+++ b/source/RobotAPI/gui-plugins/SensorActorWidgetsPlugin/ArmarXPlotter/ArmarXPlotter.cpp
@@ -325,17 +325,18 @@ namespace armarx
                         if (var->getInitialized())
                         {
 
+                            auto type = var->getType();
                             if ((signed int)j < pointList.size())
                             {
-                                if (var->getType() == VariantType::Float)
+                                if (type == VariantType::Float && var->getFloat() != std::numeric_limits<float>::infinity())
                                 {
                                     pointList[j].setY(var->getFloat());
                                 }
-                                else if (var->getType() == VariantType::Double)
+                                else if (type == VariantType::Double && var->getDouble() != std::numeric_limits<double>::infinity())
                                 {
                                     pointList[j].setY(var->getDouble());
                                 }
-                                else if (var->getType() == VariantType::Int)
+                                else if (type == VariantType::Int && var->getInt() != std::numeric_limits<int>::infinity())
                                 {
                                     pointList[j].setY(var->getInt());
                                 }
@@ -348,15 +349,15 @@ namespace armarx
                             }
                             else
                             {
-                                if (var->getType() == VariantType::Float)
+                                if (type == VariantType::Float && var->getFloat() != std::numeric_limits<float>::infinity())
                                 {
                                     p.setY(var->getFloat());
                                 }
-                                else if (var->getType() == VariantType::Double)
+                                else if (type == VariantType::Double && var->getDouble() != std::numeric_limits<double>::infinity())
                                 {
                                     p.setY(var->getDouble());
                                 }
-                                else if (var->getType() == VariantType::Int)
+                                else if (type == VariantType::Int && var->getInt() != std::numeric_limits<int>::infinity())
                                 {
                                     p.setY(var->getInt());
                                 }