diff --git a/source/RobotAPI/components/ViewSelection/ViewSelection.cpp b/source/RobotAPI/components/ViewSelection/ViewSelection.cpp
index 34c80fd1fdb4bd9b9d8d49f5f6323866f1bfce37..4ee7ad2dd828d175a65471434c30e5d2ae8263ca 100644
--- a/source/RobotAPI/components/ViewSelection/ViewSelection.cpp
+++ b/source/RobotAPI/components/ViewSelection/ViewSelection.cpp
@@ -140,6 +140,30 @@ void ViewSelection::onExitComponent()
 
 ViewTargetBasePtr ViewSelection::nextAutomaticViewTarget()
 {
+    IceUtil::Time currentTime =  armarx::TimeUtil::GetTime();
+    std::vector<std::string> activeSaliencyMaps;
+    for (const auto & p : saliencyMaps)
+    {
+        if (p.second->validUntil)
+        {
+            TimestampVariantPtr time = TimestampVariantPtr::dynamicCast(p.second->validUntil);
+            if (time->toTime() > currentTime)
+            {
+                activeSaliencyMaps.push_back(p.second->name);
+            }
+        }
+        else
+        {
+            activeSaliencyMaps.push_back(p.second->name);
+        }
+
+    }
+
+    if (activeSaliencyMaps.empty())
+    {
+        return nullptr;
+    }
+
     SharedRobotInterfacePrx robotPrx = robotStateComponent->getSynchronizedRobot();
     TNodeList* visibilityMaskGraphNodes = visibilityMaskGraph->getNodes();