diff --git a/src/callback.hpp b/src/callback.hpp
index 49d16a2..7825faf 100644
--- a/src/callback.hpp
+++ b/src/callback.hpp
@@ -242,7 +242,7 @@
                 // The timer uses the context saved on timer enable
                 this->ConditionalCallback<CallbackAccess>::operator()(
                     this->ctx);
-                });
+            });
             // **INDENT-ON**
         }
 
diff --git a/src/count.hpp b/src/count.hpp
index efc00fe..3dad8e7 100644
--- a/src/count.hpp
+++ b/src/count.hpp
@@ -58,7 +58,7 @@
         auto count = std::count_if(index.cbegin(), index.cend(),
                                    [this](const auto& item)
                                    // *INDENT-OFF*
-                                   {
+        {
             // Get the property value from storage[0],
             // and save the op result in storage[1].
             const auto& storage = std::get<storageIndex>(item.second);
diff --git a/src/pathwatchimpl.hpp b/src/pathwatchimpl.hpp
index 282ed60..f2ac946 100644
--- a/src/pathwatchimpl.hpp
+++ b/src/pathwatchimpl.hpp
@@ -33,7 +33,7 @@
         sdbusplus::bus::match::rules::interfacesAdded(objectPath),
         [this](auto& msg)
         // *INDENT-OFF*
-        { (this->cb)(Context::SIGNAL, msg); });
+    { (this->cb)(Context::SIGNAL, msg); });
     // *INDENT-ON*
 
     alreadyRan = true;
diff --git a/src/propertywatchimpl.hpp b/src/propertywatchimpl.hpp
index 8861793..9c009fe 100644
--- a/src/propertywatchimpl.hpp
+++ b/src/propertywatchimpl.hpp
@@ -45,7 +45,7 @@
             sdbusplus::bus::match::rules::interfacesAdded(path),
             [this](auto& msg)
             // *INDENT-OFF*
-            { this->interfacesAdded(msg); });
+        { this->interfacesAdded(msg); });
         // *INDENT-ON*
 
         // Do a query to populate the cache.  Start with a mapper query.
@@ -77,12 +77,12 @@
                                                                 interface),
                 [this](auto& msg)
                 // *INDENT-OFF*
-                {
+            {
                 std::string interface;
                 msg.read(interface);
                 auto path = msg.get_path();
                 this->propertiesChanged(msg, path, interface);
-                });
+            });
             // *INDENT-ON*
 
             // The mapper response is a busname:[interfaces] map.  Look for
