diff --git a/src/controller/CHIPDevice.cpp b/src/controller/CHIPDevice.cpp index 3c088fcbaeb6d3..82caefdb39f3a2 100644 --- a/src/controller/CHIPDevice.cpp +++ b/src/controller/CHIPDevice.cpp @@ -170,9 +170,11 @@ CHIP_ERROR Device::Serialize(SerializedDevice & output) serializable.mAdminId = Encoding::LittleEndian::HostSwap16(mAdminId); Transport::PeerConnectionState * connectionState = mSessionManager->GetPeerConnectionState(mSecureSession); - VerifyOrExit(connectionState != nullptr, error = CHIP_ERROR_INCORRECT_STATE); - localMessageCounter = connectionState->GetSessionMessageCounter().GetLocalMessageCounter().Value(); - peerMessageCounter = connectionState->GetSessionMessageCounter().GetPeerMessageCounter().GetCounter(); + if (connectionState != nullptr) + { + localMessageCounter = connectionState->GetSessionMessageCounter().GetLocalMessageCounter().Value(); + peerMessageCounter = connectionState->GetSessionMessageCounter().GetPeerMessageCounter().GetCounter(); + } serializable.mLocalMessageCounter = Encoding::LittleEndian::HostSwap32(localMessageCounter); serializable.mPeerMessageCounter = Encoding::LittleEndian::HostSwap32(peerMessageCounter);