diff --git a/connectivity/FEATURE_BLE/source/generic/SecurityManagerImpl.cpp b/connectivity/FEATURE_BLE/source/generic/SecurityManagerImpl.cpp index 57112de5b8..8da87324e8 100644 --- a/connectivity/FEATURE_BLE/source/generic/SecurityManagerImpl.cpp +++ b/connectivity/FEATURE_BLE/source/generic/SecurityManagerImpl.cpp @@ -1054,7 +1054,7 @@ ble_error_t SecurityManager::init_signing() sign_count_t local_sign_counter = _db->get_local_sign_counter(); csrk_t csrk; - if (!pcsrk) { + if (!pcsrk || *pcsrk == csrk_t{}) { ble_error_t ret = get_random_data(csrk.data(), csrk.size()); if (ret != BLE_ERROR_NONE) { return ret;