 	
 	func goToDeepLink(for userInfo: [AnyHashable : Any]) {
 		guard let articleID = userInfo[ArticlePathKey.articleID] as? String else { return }
+
+		if isReadFiltered ?? false {
+			if let accountName = userInfo[ArticlePathKey.accountName] as? String,
+				let account = AccountManager.shared.findActiveAccount(forDisplayName: accountName) {
+				exceptionArticleFetcher = SingleArticleFetcher(account: account, articleID: articleID)
+				fetchAndReplaceArticlesSync()
+			}
+		}
+
 		guard let ix = articles.firstIndex(where: { $0.articleID == articleID }) else {	return }
 		
 		NSCursor.setHiddenUntilMouseMoves(true)

	var undoableCommands = [UndoableCommand]()
	private var fetchSerialNumber = 0
	private let fetchRequestQueue = FetchRequestQueue()
	private var articleRowMap = [String: Int]() // articleID: rowIndex
	private var cellAppearance: TimelineCellAppearance!
	private var cellAppearanceWithIcon: TimelineCellAppearance!

		// To be called when we need to do an entire fetch, but an async delay is okay.
		// Example: we have the Today feed selected, and the calendar day just changed.
		cancelPendingAsyncFetches()
		guard var representedObjects = representedObjects else {
			emptyTheTimeline()
			return
		}
		
		if exceptionArticleFetcher != nil {
			representedObjects.append(exceptionArticleFetcher as AnyObject)
			exceptionArticleFetcher = nil
		}
		
		fetchUnsortedArticlesAsync(for: representedObjects) { [weak self] (articles) in
			self?.replaceArticles(with: articles)
		}
