diff --git a/src/doveadm/dsync/dsync-mailbox-import.c b/src/doveadm/dsync/dsync-mailbox-import.c index aebf02e9eb..657b9c5c51 100644 --- a/src/doveadm/dsync/dsync-mailbox-import.c +++ b/src/doveadm/dsync/dsync-mailbox-import.c @@ -751,6 +751,11 @@ static bool dsync_mailbox_try_save_cur(struct dsync_mailbox_importer *importer, /* add a record for local mail */ i_assert(importer->cur_mail != NULL); if (importer->revert_local_changes) { + if (save_change == NULL) { + dsync_mailbox_revert_existing_uid(importer, importer->cur_mail->uid, + t_strdup_printf("highest than remote's UIDs (remote UIDNEXT=%u)", importer->remote_uid_next)); + return TRUE; + } mail_expunge(importer->cur_mail); importer->cur_mail_skip = TRUE; importer->next_local_seq++;