diff --git a/source/RobotAPI/libraries/skills_gui/skills/SkillTreeWidget.cpp b/source/RobotAPI/libraries/skills_gui/skills/SkillTreeWidget.cpp
index 9909cc1675edf8ae1ae94a33ae878bde21955498..cf77c2ca426489d3755bd6e284dd0a392d36700b 100644
--- a/source/RobotAPI/libraries/skills_gui/skills/SkillTreeWidget.cpp
+++ b/source/RobotAPI/libraries/skills_gui/skills/SkillTreeWidget.cpp
@@ -27,6 +27,7 @@ namespace armarx::skills::gui
     void
     SkillTreeWidget::updateSkills()
     {
+        setSortingEnabled(false);
         const auto skills = memory->fetchSkills();
 
         // update tree view. Remove non-existing elements
@@ -76,6 +77,7 @@ namespace armarx::skills::gui
         // update tree view. Add new elements
         for (const auto& [providerId, providedSkills] : skills)
         {
+            bool newProvider = false;
             QTreeWidgetItem* providerItem = nullptr;
             for (int i = 0; i < this->topLevelItemCount(); ++i)
             {
@@ -94,6 +96,8 @@ namespace armarx::skills::gui
             {
                 providerItem = new QTreeWidgetItem(this);
                 providerItem->setText(0, QString::fromStdString(providerId.providerName));
+                // expand new items
+                newProvider = true;
             }
 
             for (const auto& [skillId, skill] : providedSkills)
@@ -118,7 +122,14 @@ namespace armarx::skills::gui
                     skillItem->setText(0, QString::fromStdString(skillId.skillName));
                 }
             }
+
+            if (newProvider)
+                providerItem->setExpanded(true);
         }
+
+        setSortingEnabled(true);
+        sortByColumn(0, Qt::AscendingOrder);
+        sortByColumn(1, Qt::AscendingOrder);
     }
 
     void
diff --git a/source/RobotAPI/libraries/skills_gui/skills/SkillTreeWidget.h b/source/RobotAPI/libraries/skills_gui/skills/SkillTreeWidget.h
index c076d2101f0016056f13dd4a75adc7022fa5a50a..61ec5cc85314d0318a951e8216a620d1f1d9a7c8 100644
--- a/source/RobotAPI/libraries/skills_gui/skills/SkillTreeWidget.h
+++ b/source/RobotAPI/libraries/skills_gui/skills/SkillTreeWidget.h
@@ -51,6 +51,8 @@ namespace armarx::skills::gui
     private:
         SelectedSkill selectedSkill;
 
+        static const constexpr bool PROVIDER_EXPANDED_DEFAULT = true;
+
         void setupUi();
         void connectSignals();
     };