Merge "[openweave-core] Conditional PII logging" into main
diff --git a/src/adaptations/device-layer/TraitManager.cpp b/src/adaptations/device-layer/TraitManager.cpp
index d82a8fe..ceeb940 100644
--- a/src/adaptations/device-layer/TraitManager.cpp
+++ b/src/adaptations/device-layer/TraitManager.cpp
@@ -350,6 +350,7 @@
         const SubscriptionClient::InEventParam & inParam, SubscriptionClient::OutEventParam & outParam)
 {
     WEAVE_ERROR err = WEAVE_NO_ERROR;
+    TraitManager* self = reinterpret_cast<TraitManager*>(appState);
 
     switch (eventType)
     {
@@ -401,6 +402,11 @@
             event.ServiceSubscriptionStateChange.Result = kConnectivity_Lost;
             PlatformMgr().PostEvent(&event);
         }
+        // Disable resubscribe as subscription was already terminated.
+        if (!ConfigurationMgr().IsPairedToAccount()) {
+            self->mServiceSubClient->DisableResubscribe();
+            SetFlag(self->mFlags, kFlag_ServiceSubscriptionActivated, false);
+        }
         break;
 
     default: