diff --git a/source/RobotAPI/libraries/skills/core/executor/FluxioCompositeExecutor.cpp b/source/RobotAPI/libraries/skills/core/executor/FluxioCompositeExecutor.cpp
index 972afe8a4924232b495c1647d33460266a3ad937..a7d0e824af8f99714aebc6f06fa8af58f3737c1a 100644
--- a/source/RobotAPI/libraries/skills/core/executor/FluxioCompositeExecutor.cpp
+++ b/source/RobotAPI/libraries/skills/core/executor/FluxioCompositeExecutor.cpp
@@ -541,12 +541,6 @@ namespace armarx::skills
     bool
     FluxioCompositeExecutor::validateSkill(skills::FluxioEdge& ret)
     {
-        // check if skill is not null
-        // if (skill == nullptr)
-        // {
-        //     ARMARX_WARNING << "Skill is not set";
-        //     return false;
-        // }
 
         // get start parameter
         const auto& startParam =
diff --git a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.cpp b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.cpp
index 33a8d14bb89a784eab91a2a267020494c2e211a5..234fe06e85ccd824e45bf3cb4b9dd7c38d0132da 100644
--- a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.cpp
+++ b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.cpp
@@ -809,13 +809,7 @@ namespace armarx::plugins
             else
             {
                 const auto& p = addFluxioProvider(skillId.providerId->providerName);
-                if (p == nullptr)
-                {
-                    ARMARX_WARNING << "Could not add provider '" << skillId.providerId->providerName
-                                   << "'.";
-                    continue;
-                }
-                s.skillProviderPtr = &fluxioDC.providers[p->id];
+                s.skillProviderPtr = &fluxioDC.providers[p.id];
             }
 
             s.parameters = {};
@@ -986,7 +980,7 @@ namespace armarx::plugins
         }
     }
 
-    skills::FluxioProvider*
+    skills::FluxioProvider&
     SkillManagerComponentPlugin::addFluxioProvider(const std::string& name)
     {
         const std::string& providerId = boost::uuids::to_string(createUuidWithString(name));
@@ -994,7 +988,7 @@ namespace armarx::plugins
         if (fluxioDC.providers.find(providerId) != fluxioDC.providers.end())
         {
             ARMARX_WARNING << "Provider with name '" << name << "' already exists.";
-            return nullptr;
+            return fluxioDC.providers[providerId];
         }
 
         skills::FluxioProvider p;
@@ -1002,7 +996,7 @@ namespace armarx::plugins
         p.name = name;
 
         fluxioDC.providers[p.id] = p;
-        return &fluxioDC.providers[p.id];
+        return fluxioDC.providers[p.id];
     }
 
     std::vector<skills::FluxioProvider>
diff --git a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.h b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.h
index a35e30a45388fd35a95e09706c7f52af71d2c992..b2715e77b916f02d9f152806ee89845a0fc8ff53 100644
--- a/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.h
+++ b/source/RobotAPI/libraries/skills/manager/SkillManagerComponentPlugin.h
@@ -108,7 +108,7 @@ namespace armarx::plugins
 
         std::vector<skills::FluxioProvider> getProviderList();
 
-        skills::FluxioProvider* addFluxioProvider(const std::string& name);
+        skills::FluxioProvider& addFluxioProvider(const std::string& name);
 
         std::optional<skills::FluxioProvider> getProvider(const std::string& id);