diff --git a/components/streams/src/feed.cpp b/components/streams/src/feed.cpp
index baa9b1e3dfefbf302783417738b91aac98c81a60..cdc5e12f9674fc6e550411378691174165d1ff74 100644
--- a/components/streams/src/feed.cpp
+++ b/components/streams/src/feed.cpp
@@ -238,7 +238,10 @@ Feed::Filter* Feed::filter(const std::unordered_set<Channel> &channels) {
 Feed::Filter* Feed::filter(const std::unordered_set<std::string> &sources, const std::unordered_set<Channel> &channels) {
 	std::unordered_set<uint32_t> fsids;
 	for (const auto &src : sources) {
-		fsids.emplace(fsid_lookup_.at(src));
+		auto i = fsid_lookup_.find(src);
+		if (i != fsid_lookup_.end()) {
+			fsids.emplace(i->second);
+		}
 	}
 	return filter(fsids, channels);
 }