diff --git a/SignalServiceKit/src/Loki/Crypto/SessionCipher+Loki.m b/SignalServiceKit/src/Loki/Crypto/SessionCipher+Loki.m index a98e3b7c2..466cba9af 100644 --- a/SignalServiceKit/src/Loki/Crypto/SessionCipher+Loki.m +++ b/SignalServiceKit/src/Loki/Crypto/SessionCipher+Loki.m @@ -105,7 +105,9 @@ NSString *const kNSNotificationKey_ContactPubKey = @"kNSNotificationKey_ContactP { SessionRecord *record = [self.sessionStore loadSession:self.recipientId deviceId:self.deviceId protocolContext:protocolContext]; [record removePreviousSessionStates]; - [record setState:state]; + + SessionState *newState = state == nil ? [SessionState new] : state; + [record setState:newState]; [self.sessionStore storeSession:self.recipientId deviceId:self.deviceId session:record protocolContext:protocolContext]; }