diff --git a/src/plugin/jamipluginmanager.cpp b/src/plugin/jamipluginmanager.cpp
index 73d3ac0e4c48cb8f718ea9545922d0cdc66d560b..ed0ffa1c5888ed577998bb0bd8bba70a783b0a26 100644
--- a/src/plugin/jamipluginmanager.cpp
+++ b/src/plugin/jamipluginmanager.cpp
@@ -84,7 +84,7 @@ JamiPluginManager::getPluginDetails(const std::string& rootPath)
         auto itImage = details.find("backgroundPath");
         itImage->second.insert(0, rootPath + DIR_SEPARATOR_CH + "data" + DIR_SEPARATOR_CH);
 
-        details["soPath"] = rootPath + DIR_SEPARATOR_CH + LIB_PREFIX + details["name"] + LIB_TYPE;
+        details["soPath"] = rootPath + DIR_SEPARATOR_CH + LIB_PREFIX + details["id"] + LIB_TYPE;
         details["author"] = getPluginAuthor(rootPath, details["name"]);
         detailsIt = pluginDetailsMap_.emplace(rootPath, std::move(details)).first;
         return detailsIt->second;
diff --git a/src/plugin/pluginsutils.cpp b/src/plugin/pluginsutils.cpp
index a40d21df44514e411be06433305de759e69cb6e3..cdb67f167ab21715b36106352bc634cbdb129d4d 100644
--- a/src/plugin/pluginsutils.cpp
+++ b/src/plugin/pluginsutils.cpp
@@ -91,12 +91,15 @@ std::map<std::string, std::string>
 checkManifestJsonContentValidity(const Json::Value& root)
 {
     std::string name = root.get("name", "").asString();
+    std::string id = root.get("id", name).asString();
     std::string description = root.get("description", "").asString();
     std::string version = root.get("version", "").asString();
     std::string iconPath = root.get("iconPath", "icon.png").asString();
     std::string background = root.get("backgroundPath", "background.jpg").asString();
     if (!name.empty() || !version.empty()) {
-        return {{"name", name},
+        return {
+                {"id", id},
+                {"name", name},
                 {"description", description},
                 {"version", version},
                 {"iconPath", iconPath},