diff --git a/components/operators/src/aruco.cpp b/components/operators/src/aruco.cpp
index b4f26183fe5c18f40f700ea762a47ee8d3756f83..3c7f0a11fe9280629ebd672694f78567ecc77765 100644
--- a/components/operators/src/aruco.cpp
+++ b/components/operators/src/aruco.cpp
@@ -47,9 +47,10 @@ ArUco::ArUco(ftl::operators::Graph *g, ftl::Configurable *cfg) : ftl::operators:
 	params_->cornerRefinementMinAccuracy = 0.01;
 	params_->cornerRefinementMaxIterations = 20;
 
-	params_->adaptiveThreshWinSizeMin = 7;
-	params_->adaptiveThreshWinSizeMax = 17;
-	params_->adaptiveThreshWinSizeStep = 10;
+	// default values 13, 23, 10, for speed just one thresholding window size
+	params_->adaptiveThreshWinSizeMin = 15;
+	params_->adaptiveThreshWinSizeMax = 15;
+	params_->adaptiveThreshWinSizeStep = 1;
 
 	channel_in_ = Channel::Colour;
 	channel_out_ = Channel::Shapes3D;
diff --git a/components/streams/src/renderers/openvr_render.cpp b/components/streams/src/renderers/openvr_render.cpp
index a448206e2812f07bb8359dfd040e55b2f9577bec..5c299083ebb2a8d421e674ac31b725014e80e117 100644
--- a/components/streams/src/renderers/openvr_render.cpp
+++ b/components/streams/src/renderers/openvr_render.cpp
@@ -329,6 +329,11 @@ bool OpenVRRender::retrieve(ftl::data::Frame &frame_out) {
 
 				if (headset_origin.size() > 0) {
 					ftl::operators::Poser::get(headset_origin, horigin);
+					double headset_offset = host_->value("headset_offset_z", 0.0);
+					// move z-axis by offset
+					Eigen::Vector3d offset =
+						horigin.block<3, 3>(0, 0)*Eigen::Vector3d(0.0, 0.0, headset_offset);
+					horigin.block<3, 1>(0, 3) -= offset;
 				}
 				Eigen::Matrix4d new_pose = horigin*viewPose.inverse();