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/src/isolator/hei_isolation_chip.cpp b/src/isolator/hei_isolation_chip.cpp
index 118e282..7002f77 100644
--- a/src/isolator/hei_isolation_chip.cpp
+++ b/src/isolator/hei_isolation_chip.cpp
@@ -64,8 +64,8 @@
 
 //------------------------------------------------------------------------------
 
-HardwareRegister::ConstPtr
-    IsolationChip::getHardwareRegister(HardwareRegister::Key i_key) const
+HardwareRegister::ConstPtr IsolationChip::getHardwareRegister(
+    HardwareRegister::Key i_key) const
 {
     auto itr = iv_regs.find(i_key);
     HEI_ASSERT(iv_regs.end() != itr); // The register should exist.
@@ -75,8 +75,8 @@
 
 //------------------------------------------------------------------------------
 
-IsolationNode::ConstPtr
-    IsolationChip::getIsolationNode(IsolationNode::Key i_key) const
+IsolationNode::ConstPtr IsolationChip::getIsolationNode(
+    IsolationNode::Key i_key) const
 {
     auto itr = iv_nodes.find(i_key);
     HEI_ASSERT(iv_nodes.end() != itr); // The node should exist.
diff --git a/src/isolator/hei_isolation_chip.hpp b/src/isolator/hei_isolation_chip.hpp
index 7f13b47..c70dc38 100644
--- a/src/isolator/hei_isolation_chip.hpp
+++ b/src/isolator/hei_isolation_chip.hpp
@@ -109,8 +109,8 @@
      * @return The target hardware register. Will assert that the target
      *         register exists in iv_regs.
      */
-    HardwareRegister::ConstPtr
-        getHardwareRegister(HardwareRegister::Key i_key) const;
+    HardwareRegister::ConstPtr getHardwareRegister(
+        HardwareRegister::Key i_key) const;
 
     /**
      * @brief  Retrieves an isolation node from this chip, if it exists.
diff --git a/src/isolator/hei_isolation_node.cpp b/src/isolator/hei_isolation_node.cpp
index 9fe0ba5..b5e7fe9 100644
--- a/src/isolator/hei_isolation_node.cpp
+++ b/src/isolator/hei_isolation_node.cpp
@@ -156,8 +156,8 @@
 
 //------------------------------------------------------------------------------
 
-std::pair<OpRuleType_t, RegisterId_t>
-    IsolationNode::getOpRule(OpRuleName_t i_name) const
+std::pair<OpRuleType_t, RegisterId_t> IsolationNode::getOpRule(
+    OpRuleName_t i_name) const
 {
     return iv_op_rules.at(i_name);
 }
