diff --git a/b_asic/scheduler_gui/main_window.py b/b_asic/scheduler_gui/main_window.py
index 5c9be8d78583a08393240390c1d7bcfc5575bbe0..e35fc9852e23b1226195d5d59b864a55627d6595 100644
--- a/b_asic/scheduler_gui/main_window.py
+++ b/b_asic/scheduler_gui/main_window.py
@@ -672,9 +672,8 @@ class ScheduleMainWindow(QMainWindow, Ui_MainWindow):
         row = self.info_table.findItems("Operator", Qt.MatchFlag.MatchExactly)
         if row:
             row = row[0].row()
-            if row > 2:
-                for _ in range(3):
-                    self.info_table.removeRow(1)
+            for _ in range(1, row):
+                self.info_table.removeRow(1)
         else:
             log.error("'Operator' not found in info table. It may have been renamed.")
 
diff --git a/b_asic/scheduler_gui/scheduler_event.py b/b_asic/scheduler_gui/scheduler_event.py
index fddcbc5e146667cfffd021500932d8aceb6c7838..1639d16618269d6960db435622acd151c067b9a9 100644
--- a/b_asic/scheduler_gui/scheduler_event.py
+++ b/b_asic/scheduler_gui/scheduler_event.py
@@ -198,8 +198,13 @@ class SchedulerEvent:  # PyQt5
             pos_x += self._schedule.schedule_time
             redraw = True
         if pos_x > self._schedule.schedule_time:
-            pos_x = pos_x % self._schedule.schedule_time
-            redraw = True
+            # If zero execution time, keep operation at the edge
+            if (
+                pos_x > self._schedule.schedule_time + 1
+                or item.operation.execution_time
+            ):
+                pos_x = pos_x % self._schedule.schedule_time
+                redraw = True
         pos_y = self._schedule.get_y_location(item.operation.graph_id)
         # Check move in y-direction
         if pos_y != self._old_op_position:
diff --git a/b_asic/scheduler_gui/scheduler_item.py b/b_asic/scheduler_gui/scheduler_item.py
index 8453ea5f7f712a91b0d0ae4341b0aff8c1f2a6eb..c8eebe7546d6293857ae69dd55fdfb4d52dc329f 100644
--- a/b_asic/scheduler_gui/scheduler_item.py
+++ b/b_asic/scheduler_gui/scheduler_item.py
@@ -96,7 +96,6 @@ class SchedulerItem(SchedulerEvent, QGraphicsItemGroup):  # PySide2 / PyQt5
         pos : float
             The x-position to check.
         """
-        # TODO: implement
         if self.schedule is None:
             raise ValueError("No schedule installed.")
         new_start_time = floor(pos) - floor(self._x_axis_indent)
@@ -109,9 +108,6 @@ class SchedulerItem(SchedulerEvent, QGraphicsItemGroup):  # PySide2 / PyQt5
             if new_start_time < -1:
                 # Moving one position before left edge => wrap
                 return False
-            if new_start_time > self.schedule.schedule_time + 1:
-                # Moving one position after schedule_time => wrap
-                return False
         else:
             if pos < 0:
                 return False