diff --git a/.clang-format b/.clang-format
index a75a2c2..e5530e6 100644
--- a/.clang-format
+++ b/.clang-format
@@ -104,7 +104,7 @@
 PenaltyBreakString: 1000
 PenaltyBreakTemplateDeclaration: 10
 PenaltyExcessCharacter: 1000000
-PenaltyReturnTypeOnItsOwnLine: 60
+PenaltyReturnTypeOnItsOwnLine: 150
 PenaltyIndentedWhitespace: 1
 PointerAlignment: Left
 QualifierAlignment: Left
diff --git a/manager.cpp b/manager.cpp
index 0a274c2..ba019d4 100644
--- a/manager.cpp
+++ b/manager.cpp
@@ -256,8 +256,8 @@
     return nullptr;
 }
 
-GenericBlobInterface*
-    BlobManager::getActionHandler(uint16_t session, uint16_t requiredFlags)
+GenericBlobInterface* BlobManager::getActionHandler(uint16_t session,
+                                                    uint16_t requiredFlags)
 {
     if (auto item = sessions.find(session);
         item != sessions.end() && (item->second.flags & requiredFlags))
diff --git a/manager.hpp b/manager.hpp
index fbb272d..d13992f 100644
--- a/manager.hpp
+++ b/manager.hpp
@@ -41,8 +41,8 @@
   public:
     virtual ~ManagerInterface() = default;
 
-    virtual bool
-        registerHandler(std::unique_ptr<GenericBlobInterface> handler) = 0;
+    virtual bool registerHandler(
+        std::unique_ptr<GenericBlobInterface> handler) = 0;
 
     virtual uint32_t buildBlobList() = 0;
 
@@ -98,8 +98,8 @@
      * @param[in] handler - a pointer to a blob handler.
      * @return bool - true if registered.
      */
-    bool
-        registerHandler(std::unique_ptr<GenericBlobInterface> handler) override;
+    bool registerHandler(
+        std::unique_ptr<GenericBlobInterface> handler) override;
 
     /**
      * Builds the blobId list for enumeration.
diff --git a/test/helper.cpp b/test/helper.cpp
index 8587549..5eb9f37 100644
--- a/test/helper.cpp
+++ b/test/helper.cpp
@@ -12,8 +12,8 @@
 
 namespace blobs
 {
-std::vector<std::uint8_t>
-    validateReply(ipmi::RspType<std::vector<uint8_t>> reply, bool hasData)
+std::vector<std::uint8_t> validateReply(
+    ipmi::RspType<std::vector<uint8_t>> reply, bool hasData)
 {
     // Reply is in the form of
     // std::tuple<ipmi::Cc, std::optional<std::tuple<RetTypes...>>>
