diff --git a/source/RobotAPI/libraries/aron_component_config/PropertyDefinitionVisitors.cpp b/source/RobotAPI/libraries/aron_component_config/PropertyDefinitionVisitors.cpp
index a7d1c13a1fb663ff2768b8d33681b198a440b9b5..d40feb193882995c57b0cde5896de52203e69403 100644
--- a/source/RobotAPI/libraries/aron_component_config/PropertyDefinitionVisitors.cpp
+++ b/source/RobotAPI/libraries/aron_component_config/PropertyDefinitionVisitors.cpp
@@ -87,14 +87,18 @@ namespace armarx::aron::component_config
         auto type = type::List::DynamicCast(t);
         auto old_list = data::List::DynamicCast(o);
         old_list->clear();
-        std::string list;
-        property_user_->getProperty(list, name);
-        std::vector<std::string> vector = simox::alg::split(list, ",");
+        auto get_list = [this, & name]() -> std::vector<std::string>
+        {
+            std::string list;
+            property_user_->getProperty(list, name);
+            return simox::alg::split(list, ",");
+        };
         int i = 0;
         switch (type->getAcceptedType()->getDescriptor())
         {
             case type::Descriptor::INT:
             {
+                std::vector<std::string> vector = get_list();
                 std::for_each(vector.begin(), vector.end(), [&old_list, &i](const auto& el){
                     old_list->addElement(make_int(std::stoi(el), old_list->getPath().withIndex(i)));
                     i++;
@@ -103,6 +107,7 @@ namespace armarx::aron::component_config
             }
             case type::Descriptor::STRING:
             {
+                std::vector<std::string> vector = get_list();
                 std::for_each(vector.begin(), vector.end(), [&old_list, &i](const auto& el){
                     old_list->addElement(make_string(el, old_list->getPath().withIndex(i)));
                     i++;