diff --git a/components/streams/src/renderers/openvr_render.cpp b/components/streams/src/renderers/openvr_render.cpp
index 8080bf537e5fb089645fa9b532c0c838697e3b52..ef973ff089e7fbdb9890f50d982c8509f5889c3d 100644
--- a/components/streams/src/renderers/openvr_render.cpp
+++ b/components/streams/src/renderers/openvr_render.cpp
@@ -205,6 +205,9 @@ bool OpenVRRender::retrieve(ftl::data::Frame &frame_out) {
 
 			left = ftl::rgbd::Camera::from(intrinsics_);
 			right = ftl::rgbd::Camera::from(intrinsics_);
+
+			left.baseline = baseline_;
+			right.baseline = baseline_;
 			
 			unsigned int size_x, size_y;
 			HMD->GetRecommendedRenderTargetSize(&size_x, &size_y);
diff --git a/components/streams/src/renderers/screen_render.cpp b/components/streams/src/renderers/screen_render.cpp
index a3a2e5dac3d26a3ca51bd35df0177514266fe87d..056477c6c186b3037ae6a4aade24b90403cf6e46 100644
--- a/components/streams/src/renderers/screen_render.cpp
+++ b/components/streams/src/renderers/screen_render.cpp
@@ -138,6 +138,12 @@ bool ScreenRender::retrieve(ftl::data::Frame &frame_out) {
 
 			if (!data_only) renderer_->render();
 
+			// Blend another channel
+			int blend_channel = host_->value("blend_channel",0);
+			if (blend_channel > 0) {
+				if (!data_only) renderer_->blend(static_cast<Channel>(blend_channel));
+			}
+
 			// Now do CPU-based render jobs
 			for (auto &s : sets) {
 				if (s->frameset() == my_id_) continue;  // Skip self