diff --git a/src/mdrv2.cpp b/src/mdrv2.cpp
index 8067dc7..6886c8f 100644
--- a/src/mdrv2.cpp
+++ b/src/mdrv2.cpp
@@ -259,7 +259,7 @@
                                      uint8_t remainingEntries,
                                      std::vector<uint8_t> dirEntry)
 {
-    bool teminate = false;
+    bool terminate = false;
     if ((dirIndex >= maxDirEntries) || (returnedEntries < 1))
     {
         phosphor::logging::log<phosphor::logging::level::ERR>(
@@ -277,17 +277,17 @@
     }
     if (dirVersion == smbiosDir.dirVersion)
     {
-        teminate = true;
+        terminate = true;
     }
     else
     {
         if (remainingEntries > 0)
         {
-            teminate = false;
+            terminate = false;
         }
         else
         {
-            teminate = true;
+            terminate = true;
             smbiosDir.dirVersion = dirVersion;
         }
         uint8_t idIndex = dirIndex;
@@ -306,7 +306,7 @@
             pData += sizeof(DataIdStruct);
         }
     }
-    return teminate;
+    return terminate;
 }
 
 bool MDRV2::sendDataInformation(uint8_t idIndex, uint8_t /* flag */,
@@ -922,9 +922,9 @@
             record["Configured voltage"] =
                 uint16_t(memoryInfo->configuredVoltage);
             record["Memory Technology"] = memoryInfo->memoryTechnology;
-            record["Memory Operating Mode Capabilty"] =
+            record["Memory Operating Mode Capability"] =
                 uint16_t(memoryInfo->memoryOperatingModeCap);
-            record["Firmare Version"] = memoryInfo->firwareVersion;
+            record["Firmware Version"] = memoryInfo->firwareVersion;
             record["Module Manufacturer ID"] =
                 uint16_t(memoryInfo->modelManufId);
             record["Module Product ID"] = uint16_t(memoryInfo->modelProdId);
