diff --git a/components/streams/src/feed.cpp b/components/streams/src/feed.cpp
index c8dff9d32caa900bee9e47fbce7d9d860ef44227..0eeadf3d309dc3ee01cc47c1ea28704046a89074 100644
--- a/components/streams/src/feed.cpp
+++ b/components/streams/src/feed.cpp
@@ -169,6 +169,13 @@ Feed::Feed(nlohmann::json &config, ftl::net::Universe*net) :
 
 	handle_receiver_ = receiver_->onFrameSet(
 		[this](const ftl::data::FrameSetPtr& fs) {
+			if (value("drop_partial_framesets", false)) {
+				if (fs->count < fs->frames.size()) {
+					LOG(WARNING) << "Dropping partial frameset: " << fs->timestamp();
+					return true;
+				}
+			}
+
 			// FIXME: What happens if pipeline added concurrently?
 			if (pre_pipelines_.count(fs->frameset()) == 1) {
 				pre_pipelines_[fs->frameset()]->apply(*fs, *fs, 0);