diff --git a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp
index a3bd6d8c733211553503b2be6bc327d11cf4d2e7..78833d793214ec7a5c69089424d64530e777426d 100644
--- a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp
+++ b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp
@@ -98,7 +98,12 @@ namespace armarx::skills::gui
                                                         QTreeWidgetItem* previous)
     {
         // update internal state
-        this->selectedExecution.skillExecutionId = *current;
+        SkillExecutionTreeWidgetItem* selected =
+            dynamic_cast<SkillExecutionTreeWidgetItem*>(current);
+        if (selected)
+        {
+            this->selectedExecution.skillExecutionId = selected->getExecutionId();
+        }
     }
 
     void