diff --git a/source/armarx/view_selection/components/gaze_scheduler/Scheduler.cpp b/source/armarx/view_selection/components/gaze_scheduler/Scheduler.cpp
index 0ea8d9e9c4821d5a3bb893bc3122570b8e544251..c962db700d334b3d1ad2da184c02cdd3d7f7708b 100644
--- a/source/armarx/view_selection/components/gaze_scheduler/Scheduler.cpp
+++ b/source/armarx/view_selection/components/gaze_scheduler/Scheduler.cpp
@@ -301,19 +301,8 @@ namespace armarx::view_selection::gaze_scheduler
         {
             std::scoped_lock<std::mutex> targetLock(targetMutex);
 
-            const auto currentTarget = currentTargetBuffer.getUpToDateReadBuffer();
-            // replace the target if it is currently active
-            if (currentTarget.has_value())
-            {
-                if (currentTarget->name == target.name)
-                {
-                    ARMARX_VERBOSE << "Updating active target: " << target.name;
-                    submitControlTarget(target);
-
-                    return;
-                }
-            }
-            // remove target if found in queue
+            // remove target if found in queue 
+            // (otherwise, two targets with the same name but different priorities will be in the queue)
             for (auto it = requestedTargets.cbegin(); it != requestedTargets.cend(); it++)
             {
                 if (it->name == target.name)
@@ -326,7 +315,6 @@ namespace armarx::view_selection::gaze_scheduler
             // multiset automatically ensures order
             requestedTargets.emplace(target);
         }
-        scheduleNextTarget();
     }
 
     void
@@ -343,6 +331,13 @@ namespace armarx::view_selection::gaze_scheduler
         // this will be only used in one of the if-else cases so that they do not
         // influence each other
         auto nextTarget = requestedTargets.cbegin();
+        ARMARX_VERBOSE << "Next target is " << nextTarget->name;
+
+        ARMARX_DEBUG << "Targets in queue";
+        for(const auto& target: requestedTargets)
+        {
+            ARMARX_DEBUG << target;
+        }
 
         const auto currentTarget = currentTargetBuffer.getUpToDateReadBuffer();
 
@@ -441,6 +436,9 @@ namespace armarx::view_selection::gaze_scheduler
                     }
                 }
             }
+
+            scheduleNextTarget();
+
         }
         else
         {