diff --git a/ubi/activation_ubi.cpp b/ubi/activation_ubi.cpp
index 3bb7c25..fd77b36 100644
--- a/ubi/activation_ubi.cpp
+++ b/ubi/activation_ubi.cpp
@@ -118,8 +118,8 @@
     }
 
     constexpr auto ubimountService = "obmc-flash-bios-ubimount@";
-    auto ubimountServiceFile = std::string(ubimountService) + versionId +
-                               ".service";
+    auto ubimountServiceFile =
+        std::string(ubimountService) + versionId + ".service";
     auto method = bus.new_method_call(SYSTEMD_BUSNAME, SYSTEMD_PATH,
                                       SYSTEMD_INTERFACE, "StartUnit");
     method.append(ubimountServiceFile, "replace");
@@ -138,8 +138,8 @@
     // Read the msg and populate each variable
     msg.read(newStateID, newStateObjPath, newStateUnit, newStateResult);
 
-    auto ubimountServiceFile = "obmc-flash-bios-ubimount@" + versionId +
-                               ".service";
+    auto ubimountServiceFile =
+        "obmc-flash-bios-ubimount@" + versionId + ".service";
 
     if (newStateUnit == ubimountServiceFile && newStateResult == "done")
     {
@@ -168,8 +168,8 @@
     // Set Redundancy Priority before setting to Active
     if (!redundancyPriority)
     {
-        redundancyPriority = std::make_unique<RedundancyPriorityUbi>(bus, path,
-                                                                     *this, 0);
+        redundancyPriority =
+            std::make_unique<RedundancyPriorityUbi>(bus, path, *this, 0);
     }
 
     activationProgress->progress(100);
