diff --git a/protocol/messenger_mailserver.go b/protocol/messenger_mailserver.go index 238dab637..c5d0787ae 100644 --- a/protocol/messenger_mailserver.go +++ b/protocol/messenger_mailserver.go @@ -396,11 +396,17 @@ func (m *Messenger) checkForMissingMessagesLoop() { t := time.NewTicker(missingMessageCheckPeriod) defer t.Stop() + mailserverAvailableSignal := m.SubscribeMailserverAvailable() + for { select { case <-m.quit: return + // Wait for mailserver available, also triggered on mailserver change + case <-mailserverAvailableSignal: + mailserverAvailableSignal = m.SubscribeMailserverAvailable() + case <-t.C: }