summaryrefslogtreecommitdiffstats
path: root/imap/imap.c
diff options
context:
space:
mode:
Diffstat (limited to 'imap/imap.c')
-rw-r--r--imap/imap.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/imap/imap.c b/imap/imap.c
index 59560c21..7bcd8f09 100644
--- a/imap/imap.c
+++ b/imap/imap.c
@@ -1065,9 +1065,11 @@ int imap_sync_mailbox (CONTEXT* ctx, int expunge, int* index_hint)
mutt_message (_("Saving message status flags... [%d/%d]"), n+1,
ctx->msgcount);
- /* if attachments have been deleted we delete the message and reupload
- * it. This works better if we're expunging, of course. */
- if (ctx->hdrs[n]->attach_del)
+ /* if the message has been rethreaded or attachments have been deleted
+ * we delete the message and reupload it.
+ * This works better if we're expunging, of course. */
+ if (ctx->hdrs[n]->refs_changed || ctx->hdrs[n]->irt_changed ||
+ ctx->hdrs[n]->attach_del)
{
dprint (3, (debugfile, "imap_sync_mailbox: Attachments to be deleted, falling back to _mutt_save_message\n"));
if (!appendctx)