diff --git a/buffet/device_registration_info.cc b/buffet/device_registration_info.cc
index b16e626..a87436d 100644
--- a/buffet/device_registration_info.cc
+++ b/buffet/device_registration_info.cc
@@ -126,12 +126,14 @@
     std::unique_ptr<const BuffetConfig> config,
     const std::shared_ptr<chromeos::http::Transport>& transport,
     const std::shared_ptr<StorageInterface>& state_store,
+    bool xmpp_enabled,
     const base::Closure& on_status_changed)
     : transport_{transport},
       storage_{state_store},
       command_manager_{command_manager},
       state_manager_{state_manager},
       config_{std::move(config)},
+      xmpp_enabled_{xmpp_enabled},
       on_status_changed_{on_status_changed} {
 }
 
@@ -340,6 +342,10 @@
 }
 
 void DeviceRegistrationInfo::StartXmpp() {
+  if (!xmpp_enabled_) {
+    LOG(WARNING) << "XMPP support disabled by flag.";
+    return;
+  }
   // If no MessageLoop assume we're in unittests.
   if (!base::MessageLoop::current()) {
     LOG(INFO) << "No MessageLoop, not starting XMPP";
diff --git a/buffet/device_registration_info.h b/buffet/device_registration_info.h
index 7f5e2c6..52b520a 100644
--- a/buffet/device_registration_info.h
+++ b/buffet/device_registration_info.h
@@ -54,6 +54,7 @@
       std::unique_ptr<const BuffetConfig> config,
       const std::shared_ptr<chromeos::http::Transport>& transport,
       const std::shared_ptr<StorageInterface>& state_store,
+      bool xmpp_enabled,
       const base::Closure& on_status_changed);
 
   ~DeviceRegistrationInfo() override;
@@ -209,9 +210,6 @@
   void SetRegistrationStatus(RegistrationStatus new_status);
   void SetDeviceId(const std::string& device_id);
 
-  std::unique_ptr<XmppClient> xmpp_client_;
-  base::MessageLoopForIO::FileDescriptorWatcher fd_watcher_;
-
   // Data that is cached here, persisted in the state store.
   std::string refresh_token_;
   std::string device_id_;
@@ -237,6 +235,10 @@
 
   std::unique_ptr<const BuffetConfig> config_;
 
+  const bool xmpp_enabled_;
+  std::unique_ptr<XmppClient> xmpp_client_;
+  base::MessageLoopForIO::FileDescriptorWatcher fd_watcher_;
+
   // Tracks our current registration status.
   RegistrationStatus registration_status_{RegistrationStatus::kUnconfigured};
   base::Closure on_status_changed_;
diff --git a/buffet/device_registration_info_unittest.cc b/buffet/device_registration_info_unittest.cc
index dfb61cc..91dc8b1 100644
--- a/buffet/device_registration_info_unittest.cc
+++ b/buffet/device_registration_info_unittest.cc
@@ -211,6 +211,7 @@
         new DeviceRegistrationInfo(command_manager_, state_manager_,
                                    std::move(config),
                                    transport_, storage_,
+                                   true,
                                    mock_callback));
   }
 
diff --git a/buffet/main.cc b/buffet/main.cc
index 58d70d3..461680b 100644
--- a/buffet/main.cc
+++ b/buffet/main.cc
@@ -25,11 +25,13 @@
  public:
   Daemon(const base::FilePath& config_path,
          const base::FilePath& state_path,
-         const base::FilePath& test_definitions_path)
+         const base::FilePath& test_definitions_path,
+         bool enable_xmpp)
       : DBusServiceDaemon(kServiceName, kRootServicePath),
         config_path_{config_path},
         state_path_{state_path},
-        test_definitions_path_{test_definitions_path} {}
+        test_definitions_path_{test_definitions_path},
+        enable_xmpp_{enable_xmpp} {}
 
  protected:
   void RegisterDBusObjectsAsync(AsyncEventSequencer* sequencer) override {
@@ -38,6 +40,7 @@
         config_path_,
         state_path_,
         test_definitions_path_,
+        enable_xmpp_,
         sequencer->GetHandler("Manager.RegisterAsync() failed.", true));
   }
 
@@ -47,6 +50,7 @@
   const base::FilePath config_path_;
   const base::FilePath state_path_;
   const base::FilePath test_definitions_path_;
+  const bool enable_xmpp_;
 
   DISALLOW_COPY_AND_ASSIGN(Daemon);
 };
@@ -69,6 +73,8 @@
   DEFINE_string(test_definitions_path, "",
                 "Path to directory containing additional command "
                 "and state definitions.  For use in test only.");
+  DEFINE_bool(enable_xmpp, true,
+              "Connect to GCD via a persistent XMPP connection.");
   chromeos::FlagHelper::Init(argc, argv, "Privet protocol handler daemon");
   if (FLAGS_config_path.empty())
     FLAGS_config_path = kDefaultConfigFilePath;
@@ -81,6 +87,7 @@
 
   buffet::Daemon daemon{base::FilePath{FLAGS_config_path},
                         base::FilePath{FLAGS_state_path},
-                        base::FilePath{FLAGS_test_definitions_path}};
+                        base::FilePath{FLAGS_test_definitions_path},
+                        FLAGS_enable_xmpp};
   return daemon.Run();
 }
diff --git a/buffet/manager.cc b/buffet/manager.cc
index 31115b7..00c5ad2 100644
--- a/buffet/manager.cc
+++ b/buffet/manager.cc
@@ -48,6 +48,7 @@
 void Manager::RegisterAsync(const base::FilePath& config_path,
                             const base::FilePath& state_path,
                             const base::FilePath& test_definitions_path,
+                            bool xmpp_enabled,
                             const AsyncEventSequencer::CompletionAction& cb) {
   command_manager_ =
       std::make_shared<CommandManager>(dbus_object_.GetObjectManager());
@@ -71,6 +72,7 @@
           std::move(config),
           chromeos::http::Transport::CreateDefault(),
           std::move(state_store),
+          xmpp_enabled,
           base::Bind(&Manager::OnRegistrationStatusChanged,
                      base::Unretained(this))));
   device_info_->Load();
diff --git a/buffet/manager.h b/buffet/manager.h
index f44e075..d21f062 100644
--- a/buffet/manager.h
+++ b/buffet/manager.h
@@ -51,6 +51,7 @@
       const base::FilePath& config_path,
       const base::FilePath& state_path,
       const base::FilePath& test_definitions_path,
+      bool xmpp_enabled,
       const chromeos::dbus_utils::AsyncEventSequencer::CompletionAction& cb);
 
  private:
