diff --git a/examples/daemon/common/daemon.h b/examples/daemon/common/daemon.h
index 22591a2..23a08d2 100644
--- a/examples/daemon/common/daemon.h
+++ b/examples/daemon/common/daemon.h
@@ -114,10 +114,8 @@
  private:
   static void OnRegisterDeviceDone(weave::Device* device,
                                    weave::ErrorPtr error) {
-    if (error)
-      LOG(ERROR) << "Fail to register device: " << error->GetMessage();
-    else
-      LOG(INFO) << "Device registered: " << device->GetSettings().cloud_id;
+    CHECK(!error) << "Registration failed device: " << error->GetMessage();
+    LOG(INFO) << "Device registered: " << device->GetSettings().cloud_id;
   }
 
   std::unique_ptr<weave::examples::EventTaskRunner> task_runner_;
diff --git a/src/device_registration_info.h b/src/device_registration_info.h
index a488bae..db08ef9 100644
--- a/src/device_registration_info.h
+++ b/src/device_registration_info.h
@@ -115,6 +115,9 @@
 
   GcdState GetGcdState() const { return gcd_state_; }
 
+  // Checks whether we have credentials generated during registration.
+  bool HaveRegistrationCredentials() const;
+
  private:
   friend class DeviceRegistrationInfoTest;
 
@@ -124,8 +127,6 @@
     return weak_factory_.GetWeakPtr();
   }
 
-  // Checks whether we have credentials generated during registration.
-  bool HaveRegistrationCredentials() const;
   // Calls HaveRegistrationCredentials() and logs an error if no credentials
   // are available.
   bool VerifyRegistrationCredentials(ErrorPtr* error) const;
diff --git a/src/privet/cloud_delegate.cc b/src/privet/cloud_delegate.cc
index ef9c59e..d7e9bef 100644
--- a/src/privet/cloud_delegate.cc
+++ b/src/privet/cloud_delegate.cc
@@ -26,6 +26,8 @@
 
 namespace {
 
+const char kErrorAlreayRegistered[] = "already_registered";
+
 const BackoffEntry::Policy register_backoff_policy = {0,    1000, 2.0,  0.2,
                                                       5000, -1,   false};
 
@@ -103,6 +105,12 @@
   bool Setup(const RegistrationData& registration_data,
              ErrorPtr* error) override {
     VLOG(1) << "GCD Setup started. ";
+    if (device_->HaveRegistrationCredentials()) {
+      Error::AddTo(error, FROM_HERE, kErrorAlreayRegistered,
+                   "Unable to register already registered device");
+      return false;
+    }
+
     // Set (or reset) the retry counter, since we are starting a new
     // registration process.
     registation_retry_count_ = kMaxDeviceRegistrationRetries;
diff --git a/src/privet/privet_handler.cc b/src/privet/privet_handler.cc
index 97cacc5..41936b6 100644
--- a/src/privet/privet_handler.cc
+++ b/src/privet/privet_handler.cc
@@ -837,8 +837,9 @@
     return ReturnError(*error, callback);
 
   if (!registration_data.ticket_id.empty() &&
-      !cloud_->Setup(registration_data, &error))
+      !cloud_->Setup(registration_data, &error)) {
     return ReturnError(*error, callback);
+  }
 
   ReplyWithSetupStatus(callback);
 }
