         }
         let dismiss = {
             UserDefaults.standard.shouldCheckForArticleAnnouncements = false
+            // re-fetch since time has elapsed
+            let contentGroup = self.dataStore.viewContext.contentGroup(for: contentGroupURL)
             contentGroup?.markDismissed()
             contentGroup?.updateVisibilityForUserIsLogged(in: self.session.isAuthenticated)
             do {

        FeedFunnel.shared.logFeedImpression(for: context)
        wmf_showAnnouncementPanel(announcement: announcement, primaryButtonTapHandler: { (sender) in
            self.navigate(to: actionURL, useSafari: true)
            dismiss()
        }, secondaryButtonTapHandler: { (sender) in
            dismiss()
        }, footerLinkAction: { (url) in
             self.navigate(to: url, useSafari: true)
        }, dismissHandler: {
            dismiss()
        }, theme: theme)

        let predicate = NSPredicate(format: "placement == %@", "article")
        let contentGroup = dataStore.viewContext.newestVisibleGroup(of: .announcement, with: predicate)
        guard
            let contentGroupURL = contentGroup?.url,
            let announcement = contentGroup?.contentPreview as? WMFAnnouncement,
            let actionURL = announcement.actionURL
        else {
