diff --git a/include/sdbusplus/asio/object_server.hpp b/include/sdbusplus/asio/object_server.hpp
index e2b583a..f6db20a 100644
--- a/include/sdbusplus/asio/object_server.hpp
+++ b/include/sdbusplus/asio/object_server.hpp
@@ -613,7 +613,8 @@
             }
 #endif
         }
-        return sd_bus_error_set_const(error, SD_BUS_ERROR_INVALID_ARGS, NULL);
+        return sd_bus_error_set_const(error, SD_BUS_ERROR_INVALID_ARGS,
+                                      nullptr);
     }
 
     static int set_handler(sd_bus* /*bus*/, const char* /*path*/,
@@ -663,7 +664,8 @@
             }
 #endif
         }
-        return sd_bus_error_set_const(error, SD_BUS_ERROR_INVALID_ARGS, NULL);
+        return sd_bus_error_set_const(error, SD_BUS_ERROR_INVALID_ARGS,
+                                      nullptr);
     }
 
     static int method_handler(sd_bus_message* m, void* userdata,
@@ -696,7 +698,8 @@
             }
 #endif
         }
-        return sd_bus_error_set_const(error, SD_BUS_ERROR_INVALID_ARGS, NULL);
+        return sd_bus_error_set_const(error, SD_BUS_ERROR_INVALID_ARGS,
+                                      nullptr);
     }
 
     /** @brief Create a new signal message.
