diff --git a/src/Overlay.cpp b/src/Overlay.cpp
index 7df8908..f80994f 100644
--- a/src/Overlay.cpp
+++ b/src/Overlay.cpp
@@ -130,9 +130,9 @@
         symbolPath =
             symbolPath.substr(sizeof("/sys/firmware/devicetree/base") - 1);
         nlohmann::json configuration = {{"path", symbolPath},
-                                        {"type", "Symbol"},
+                                        {"Type", "Symbol"},
                                         {"bus", std::stoul(bus)},
-                                        {"name", "i2c" + bus}};
+                                        {"Name", "i2c" + bus}};
         createOverlay(TEMPLATE_DIR + std::string("/Symbol.template"),
                       configuration);
     }
@@ -152,7 +152,7 @@
     buff << templateFile.rdbuf();
     std::string templateStr = buff.str();
     std::string name = "unknown";
-    std::string type = configuration["type"];
+    std::string type = configuration["Type"];
     for (auto keyPair = configuration.begin(); keyPair != configuration.end();
          keyPair++)
     {
@@ -166,7 +166,7 @@
                 std::stoul(keyPair.value().get<std::string>(), nullptr, 16);
             subsituteString = std::to_string(dec);
         }
-        else if (keyPair.key() == "name" &&
+        else if (keyPair.key() == "Name" &&
                  keyPair.value().type() == nlohmann::json::value_t::string)
         {
             subsituteString = std::regex_replace(
@@ -268,7 +268,7 @@
             {
                 continue;
             }
-            auto findType = configuration.find("type");
+            auto findType = configuration.find("Type");
             if (findType == configuration.end() ||
                 findType->type() != nlohmann::json::value_t::string)
             {
