diff --git a/wifi.h b/wifi.h
index bfcee09..b80edf1 100644
--- a/wifi.h
+++ b/wifi.h
@@ -161,6 +161,10 @@
   // Called by Linkmonitor (overriden from Device superclass).
   virtual void OnLinkMonitorFailure();
 
+  bool IsCurrentService(const WiFiServiceRefPtr service) {
+    return service.get() == current_service_.get();
+  }
+
   // Overriden from Device superclass
   virtual std::vector<GeolocationInfo> GetGeolocationObjects() const;
 
diff --git a/wifi_service.cc b/wifi_service.cc
index 17fbffe..904fa9b 100644
--- a/wifi_service.cc
+++ b/wifi_service.cc
@@ -391,6 +391,15 @@
                           Error::GetDefaultMessage(Error::kAlreadyConnected));
     return;
   }
+  if (wifi_->IsCurrentService(this)) {
+    LOG(WARNING) << "Can't connect.  Service " << friendly_name()
+                 << " is the current service (but, in " << GetStateString()
+                 << " state, not connected.";
+    Error::PopulateAndLog(error,
+                          Error::kInProgress,
+                          Error::GetDefaultMessage(Error::kInProgress));
+    return;
+  }
 
   params[wpa_supplicant::kNetworkPropertyMode].writer().
       append_uint32(WiFiEndpoint::ModeStringToUint(mode_));
