diff --git a/applications/vision/src/main.cpp b/applications/vision/src/main.cpp
index 33f3b0901a1d0cb24b5508998e0b3c8ab0e5d699..d8f4d58a537bac564c545caef45661a11ff5499a 100644
--- a/applications/vision/src/main.cpp
+++ b/applications/vision/src/main.cpp
@@ -245,6 +245,8 @@ static void run(ftl::Configurable *root) {
 			cudaSafeCall(cudaEventSynchronize(fs->frames[0].uploadEvent()));
 			fs->flush(ftl::codecs::Channel::Colour);
 
+			const_cast<ftl::data::FrameSetPtr&>(fs).reset();
+
 			if (!quiet && --stats_count <= 0) {
 				latency /= float(frames);
 				int64_t nowtime = ftl::timer::get_time();
@@ -258,6 +260,8 @@ static void run(ftl::Configurable *root) {
 			}
 		});
 
+		const_cast<ftl::data::FrameSetPtr&>(fs).reset();
+
 		return true;
 	});
 
diff --git a/components/operators/src/operator.cpp b/components/operators/src/operator.cpp
index 2402aed076ff88c21eccd3106b8d403900f97dcf..f0e5c677193e141f79820b59308686d6ded2d7aa 100644
--- a/components/operators/src/operator.cpp
+++ b/components/operators/src/operator.cpp
@@ -219,7 +219,7 @@ bool Graph::apply(Frame &in, Frame &out, const std::function<void()> &cb) {
 			ftl::pool.push([cb](int id) { cb(); });
 		});
 	} else {
-		cudaSafeCall(cudaStreamSynchronize(stream_actual));
+		//cudaSafeCall(cudaStreamSynchronize(stream_actual));
 		busy_.clear();
 	}