diff --git a/client_library/client_dbus.cc b/client_library/client_dbus.cc
index 2579506..270a987 100644
--- a/client_library/client_dbus.cc
+++ b/client_library/client_dbus.cc
@@ -116,7 +116,7 @@
   return proxy_->ResetStatus(nullptr);
 }
 
-void DBusUpdateEngineClient::DBusStatusHandlerRegistered(
+void DBusUpdateEngineClient::DBusStatusHandlersRegistered(
     const string& interface,
     const string& signal_name,
     bool success) const {
@@ -147,7 +147,8 @@
     return;
   }
 
-  for (auto h : handler ? {handler} : handlers_) {
+  std::vector<update_engine::StatusUpdateHandler*> just_handler = {handler};
+  for (auto h : handler ? just_handler : handlers_) {
     h->HandleStatusUpdate(
         last_checked_time, progress, update_status, new_version, new_size);
   }
@@ -199,8 +200,8 @@
   proxy_->RegisterStatusUpdateSignalHandler(
       base::Bind(&DBusUpdateEngineClient::RunStatusUpdateHandlers,
                  base::Unretained(this)),
-      base::Bind(&DBusUpdateEngineClient::StatusUpdateHandlersRegistered,
-                 base::Unretained(this), base::Unretained(nullptr)));
+      base::Bind(&DBusUpdateEngineClient::DBusStatusHandlersRegistered,
+                 base::Unretained(this)));
 
   dbus_handler_registered_ = true;
 
diff --git a/client_library/client_dbus.h b/client_library/client_dbus.h
index 9e125ba..507fb5c 100644
--- a/client_library/client_dbus.h
+++ b/client_library/client_dbus.h
@@ -74,11 +74,7 @@
   bool UnregisterStatusUpdateHandler(StatusUpdateHandler* handler) override;
 
  private:
-  std::unique_ptr<org::chromium::UpdateEngineInterfaceProxy> proxy_;
-  std::vector<update_engine::StatusUpdateHandler*> handlers_;
-
-  void DBusStatusHandlersRegistered(StatusUpdateHandler* handler,
-                                    const std::string& interface,
+  void DBusStatusHandlersRegistered(const std::string& interface,
                                     const std::string& signal_name,
                                     bool success) const;
 
@@ -93,8 +89,9 @@
                                const std::string& new_version,
                                int64_t new_size);
 
+  std::unique_ptr<org::chromium::UpdateEngineInterfaceProxy> proxy_;
   std::vector<update_engine::StatusUpdateHandler*> handlers_;
-  bool dbus_handler_registered_ = false;
+  bool dbus_handler_registered_{false};
 
   DISALLOW_COPY_AND_ASSIGN(DBusUpdateEngineClient);
 };  // class DBusUpdateEngineClient
