diff --git a/src/yaml/parser_yaml.cpp b/src/yaml/parser_yaml.cpp
index b4c830bd547b7b07e288cb406027deab95751db3..a813f71b2246d53d0056bb8ab26ec1f9db5ee000 100644
--- a/src/yaml/parser_yaml.cpp
+++ b/src/yaml/parser_yaml.cpp
@@ -517,12 +517,10 @@ void ParserYaml::parse()
         tags.push_back("ROS publisher");
         walkTreeR(it.n_, tags, "ROS publisher/" + it.type_ + " - " + it.topic_);
     }
-    std::list<std::string> plugins;
-    std::list<std::string> packages_subscriber, packages_publisher;
-    for (const auto& it : paramsSens_)
-        plugins.push_back(it.plugin_);
-    for (const auto& it : paramsProc_)
-        plugins.push_back(it.plugin_);
+    std::list<std::string> plugins, packages_subscriber, packages_publisher;
+    for (auto pair : params_)
+        if (pair.first.find("plugin") != std::string::npos and pair.first != "plugins")
+            plugins.push_back(pair.second);
     for (const auto& it : subscriber_managers_)
         packages_subscriber.push_back(it.package_);
     for (const auto& it : publisher_managers_)