diff --git a/wifi_unittest.cc b/wifi_unittest.cc
index f4902d2..d8595c6 100644
--- a/wifi_unittest.cc
+++ b/wifi_unittest.cc
@@ -269,6 +269,9 @@
                  const string &bssid,
                  int16_t signal_strength,
                  const char *mode);
+  void ClearCachedCredentials() {
+    wifi_->ClearCachedCredentials();
+  }
   void ReportIPConfigComplete() {
     wifi_->IPConfigUpdatedCallback(dhcp_config_, true);
   }
@@ -1382,4 +1385,37 @@
   ReportStateChanged(wpa_supplicant::kInterfaceStateCompleted);
 }
 
+TEST_F(WiFiMainTest, ClearCachedCredentials) {
+  MockSupplicantInterfaceProxy &supplicant_interface_proxy =
+      *supplicant_interface_proxy_;
+
+  StartWiFi();
+
+  // Ensure call to the proxy is deferred.
+  EXPECT_CALL(supplicant_interface_proxy, ClearCachedCredentials())
+      .Times(0);
+  ClearCachedCredentials();
+
+  Mock::VerifyAndClearExpectations(&supplicant_interface_proxy);
+
+  EXPECT_CALL(supplicant_interface_proxy, ClearCachedCredentials())
+      .Times(1);
+  dispatcher_.DispatchPendingEvents();
+
+  Mock::VerifyAndClearExpectations(&supplicant_interface_proxy);
+
+  EXPECT_CALL(supplicant_interface_proxy, ClearCachedCredentials())
+      .Times(0);
+  ClearCachedCredentials();
+  ClearCachedCredentials();
+
+  Mock::VerifyAndClearExpectations(&supplicant_interface_proxy);
+
+  // Ensure multiple calls to ClearCachedCredentials() results in only
+  // one call to the proxy.
+  EXPECT_CALL(supplicant_interface_proxy, ClearCachedCredentials())
+      .Times(1);
+  dispatcher_.DispatchPendingEvents();
+}
+
 }  // namespace shill
