diff --git a/.clang-tidy b/.clang-tidy
index f324217..9ece14b 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -229,6 +229,7 @@
 performance-unnecessary-copy-initialization,
 performance-unnecessary-value-param,
 readability-avoid-const-params-in-decls,
+readability-braces-around-statements,
 readability-const-return-type,
 readability-container-size-empty,
 readability-delete-null-pointer,
diff --git a/item_updater.cpp b/item_updater.cpp
index 1f62133..43c4c8b 100644
--- a/item_updater.cpp
+++ b/item_updater.cpp
@@ -137,10 +137,13 @@
         auto activationState = server::Activation::Activations::Invalid;
         ItemUpdater::ActivationStatus result;
         if (purpose == VersionPurpose::BMC || purpose == VersionPurpose::System)
+        {
             result = ItemUpdater::validateSquashFSImage(filePath);
+        }
         else
+        {
             result = ItemUpdater::ActivationStatus::ready;
-
+        }
         AssociationList associations = {};
 
         if (result == ItemUpdater::ActivationStatus::ready)
diff --git a/msl_verify.cpp b/msl_verify.cpp
index 8dd30a0..cf05ea3 100644
--- a/msl_verify.cpp
+++ b/msl_verify.cpp
@@ -17,19 +17,31 @@
                                 const Version& mslVersion)
 {
     if (versionToCompare.major > mslVersion.major)
+    {
         return (1);
+    }
     if (versionToCompare.major < mslVersion.major)
+    {
         return (-1);
+    }
 
     if (versionToCompare.minor > mslVersion.minor)
+    {
         return (1);
+    }
     if (versionToCompare.minor < mslVersion.minor)
+    {
         return (-1);
+    }
 
     if (versionToCompare.rev > mslVersion.rev)
+    {
         return (1);
+    }
     if (versionToCompare.rev < mslVersion.rev)
+    {
         return (-1);
+    }
 
     // Both string are equal and there is no need to make an upgrade return 0.
     return 0;
