diff --git a/redfish-core/src/error_messages.cpp b/redfish-core/src/error_messages.cpp
index 5b10937..51871bf 100644
--- a/redfish-core/src/error_messages.cpp
+++ b/redfish-core/src/error_messages.cpp
@@ -32,16 +32,16 @@
     // first error message to the top level struct
     if (!error.is_object())
     {
-        auto message_id_iterator = message.find("MessageId");
-        if (message_id_iterator == message.end())
+        auto messageIdIterator = message.find("MessageId");
+        if (messageIdIterator == message.end())
         {
             BMCWEB_LOG_CRITICAL
                 << "Attempt to add error message without MessageId";
             return;
         }
 
-        auto message_field_iterator = message.find("Message");
-        if (message_field_iterator == message.end())
+        auto messageFieldIterator = message.find("Message");
+        if (messageFieldIterator == message.end())
         {
             BMCWEB_LOG_CRITICAL
                 << "Attempt to add error message without Message";
@@ -49,8 +49,8 @@
         }
         // clang-format off
     error = {
-        {"code", *message_id_iterator},
-        {"message", *message_field_iterator}
+        {"code", *messageIdIterator},
+        {"message", *messageFieldIterator}
     };
         // clang-format on
     }
@@ -65,13 +65,13 @@
     // This check could technically be done in in the default construction
     // branch above, but because we need the pointer to the extended info field
     // anyway, it's more efficient to do it here.
-    auto& extended_info = error[messages::messageAnnotation];
-    if (!extended_info.is_array())
+    auto& extendedInfo = error[messages::messageAnnotation];
+    if (!extendedInfo.is_array())
     {
-        extended_info = nlohmann::json::array();
+        extendedInfo = nlohmann::json::array();
     }
 
-    extended_info.push_back(message);
+    extendedInfo.push_back(message);
 }
 
 static void addMessageToJsonRoot(nlohmann::json& target,
