diff --git a/lib/src/voip/call.dart b/lib/src/voip/call.dart index 5bf2a42f1..e71cc42c5 100644 --- a/lib/src/voip/call.dart +++ b/lib/src/voip/call.dart @@ -1200,7 +1200,9 @@ class CallSession { setCallState(CallState.kEnded); if (!isGroupCall) { - if (callId != voip.currentCID) return; + // when a call crash and this call is already terminated the currentCId is null. + // So don't return bc the hangup or reject will not proceed anymore. + if (callId != voip.currentCID && voip.currentCID != null) return; voip.currentCID = null; voip.incomingCallRoomId.removeWhere((key, value) => value == callId); }