diff --git a/lib/encryption/key_manager.dart b/lib/encryption/key_manager.dart index 5f9f6547..2e893b54 100644 --- a/lib/encryption/key_manager.dart +++ b/lib/encryption/key_manager.dart @@ -443,8 +443,11 @@ class KeyManager { } _pendingNewOutboundGroupSessions[roomId] = _createOutboundGroupSession(roomId); - await _pendingNewOutboundGroupSessions[roomId]; - return _pendingNewOutboundGroupSessions.remove(roomId)!; + try { + await _pendingNewOutboundGroupSessions[roomId]; + } finally { + return _pendingNewOutboundGroupSessions.remove(roomId)!; + } } /// Prepares an outbound group session for a given room ID. That is, load it from