diff --git a/source/RobotAPI/libraries/skills/provider/SkillProviderComponentPlugin.cpp b/source/RobotAPI/libraries/skills/provider/SkillProviderComponentPlugin.cpp
index 72024a427cfb9e2b0907a36f3bccd6e886e12d4a..ac7ab61a80b89081778f571478dee3ed3fe3910d 100644
--- a/source/RobotAPI/libraries/skills/provider/SkillProviderComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/skills/provider/SkillProviderComponentPlugin.cpp
@@ -42,6 +42,10 @@ namespace armarx::plugins
 
         auto id = skills::manager::dto::ProviderID{providerName};
         manager->removeProvider(id);
+
+        // remove all skills
+        ARMARX_INFO << "Removing all skills";
+        skillFactories.clear();
     }
 
     void
@@ -82,6 +86,7 @@ namespace armarx::plugins
         ARMARX_INFO << "Adding skill `" << skillId << "` to component `" << componentName << "` .";
 
         skillFactories.emplace(skillId, std::move(fac));
+        
 
         //        if (connected)
         //        {