diff --git a/src/com/fsck/k9/controller/MessagingController.java b/src/com/fsck/k9/controller/MessagingController.java index 6ee0db420..5ea3156b5 100644 --- a/src/com/fsck/k9/controller/MessagingController.java +++ b/src/com/fsck/k9/controller/MessagingController.java @@ -3158,9 +3158,11 @@ public class MessagingController implements Runnable { throws MessagingException { if (account.isMarkMessageAsReadOnView() && !message.isSet(Flag.SEEN)) { - message.setFlag(Flag.SEEN, true); - setFlagSynchronous(account, Collections.singletonList(Long.valueOf(message.getId())), - Flag.SEEN, true, false); + List messageIds = Collections.singletonList(message.getId()); + setFlagInCache(account, messageIds, Flag.SEEN, true); + setFlagSynchronous(account, messageIds, Flag.SEEN, true, false); + + ((LocalMessage) message).setFlagInternal(Flag.SEEN, true); } }