diff --git a/sensorhelper.hpp b/sensorhelper.hpp
index 1228339..08dd22c 100644
--- a/sensorhelper.hpp
+++ b/sensorhelper.hpp
@@ -119,8 +119,8 @@
                        const std::string& _cmd, const std::string& _unit,
                        int _pid)
     {
-        DBusConnection* cxn = new DBusConnection(_s, _connection, _cmd, _unit,
-                                                 _pid);
+        DBusConnection* cxn =
+            new DBusConnection(_s, _connection, _cmd, _unit, _pid);
         connections_.push_back(cxn);
         unique_name_to_cxn[_connection] = cxn;
     }
@@ -372,10 +372,9 @@
         *in_edges = in;
     }
 
-    void AddAssociationDefinition(const std::string& path,
-                                  const std::string& forward,
-                                  const std::string& reverse,
-                                  const std::string& endpoint)
+    void AddAssociationDefinition(
+        const std::string& path, const std::string& forward,
+        const std::string& reverse, const std::string& endpoint)
     {
         std::vector<std::string> d = {path, forward, reverse, endpoint};
         association_definitions_.push_back(d);
