 		}
 		items.append(smartFeedControllerItem)
 
+		let selectedFeedIDs = Set(selectedFeeds.map { $0.feedID })
+		
 		for account in AccountManager.shared.sortedActiveAccounts {
 			var accountItem = SidebarItem(account)
 			
 			for webFeed in sort(account.topLevelWebFeeds) {
-				if !isReadFiltered || webFeed.unreadCount > 0 {
+				if !isReadFiltered || !(webFeed.unreadCount < 1 && !selectedFeedIDs.contains(webFeed.feedID)) {
 					accountItem.addChild(SidebarItem(webFeed, unreadCount: delegate.unreadCount(for: webFeed)))
 				}
 			}
 			
 			for folder in sort(account.folders ?? Set<Folder>()) {
-				if !isReadFiltered || folder.unreadCount > 0 {
+				if !isReadFiltered || !(folder.unreadCount < 1 && !selectedFeedIDs.contains(folder.feedID)) {
 					var folderItem = SidebarItem(folder, unreadCount: delegate.unreadCount(for: folder))
 					for webFeed in sort(folder.topLevelWebFeeds) {
-						if !isReadFiltered || webFeed.unreadCount > 0 {
+						if !isReadFiltered || !(webFeed.unreadCount < 1 && !selectedFeedIDs.contains(webFeed.feedID)) {
 							folderItem.addChild(SidebarItem(webFeed, unreadCount: delegate.unreadCount(for: webFeed)))
 						}
 					}

	
	// MARK: Subscriptions
	
	func subscribeToRebuildSidebarItemsEvents() {
		let chidrenDidChangePublisher = NotificationCenter.default.publisher(for: .ChildrenDidChange)
		let batchUpdateDidPerformPublisher = NotificationCenter.default.publisher(for: .BatchUpdateDidPerform)

		return feeds.sorted(by: { $0.nameForDisplay.localizedStandardCompare($1.nameForDisplay) == .orderedAscending })
	}
	
	func rebuildSidebarItems(isReadFiltered: Bool, selectedFeeds: [Feed]) {
		guard let delegate = delegate else { return }
		var items = [SidebarItem]()
		
