 			configureUnreadCountForCellsForRepresentedObjects([representedObject as AnyObject])
 		}
 
-		if let feed = representedObject as? Feed, treeControllerDelegate.isReadFiltered, feed.unreadCount > 0 {
+		if let feed = representedObject as? Feed, isReadFiltered, feed.unreadCount > 0 {
+			addTreeControllerToFilterExceptions()
 			queueRebuildTreeAndRestoreSelection()
 		}
 	}

	}

	// MARK: - API

	func queueRebuildTreeAndRestoreSelection() {
		rebuildTreeAndRestoreSelectionQueue.add(self, #selector(rebuildTreeAndRestoreSelection))

	}

	@IBAction func openInBrowser(_ sender: Any?) {
		guard let feed = singleSelectedWebFeed, let homePageURL = feed.homePageURL else {
			return
		}
		Browser.open(homePageURL)
	}

	@IBAction func gotoToday(_ sender: Any?) {
		ensureFeedIsAvailableToSelect(SmartFeedsController.shared.todayFeed)
		outlineView.revealAndSelectRepresentedObject(SmartFeedsController.shared.todayFeed, treeController)
		focus()
	}

	@IBAction func gotoAllUnread(_ sender: Any?) {
		ensureFeedIsAvailableToSelect(SmartFeedsController.shared.unreadFeed)
		outlineView.revealAndSelectRepresentedObject(SmartFeedsController.shared.unreadFeed, treeController)
		focus()
	}

	@IBAction func gotoStarred(_ sender: Any?) {
		ensureFeedIsAvailableToSelect(SmartFeedsController.shared.starredFeed)
		outlineView.revealAndSelectRepresentedObject(SmartFeedsController.shared.starredFeed, treeController)
		focus()
	}
