diff --git a/components/rgbd-sources/src/sources/screencapture/screencapture.cpp b/components/rgbd-sources/src/sources/screencapture/screencapture.cpp
index 87b34497b397f30860d72b29ad2f255e0541c173..ab3465af118d6c4f80c41fdeae3044badf29e7c2 100644
--- a/components/rgbd-sources/src/sources/screencapture/screencapture.cpp
+++ b/components/rgbd-sources/src/sources/screencapture/screencapture.cpp
@@ -233,7 +233,7 @@ void ScreenCapture::_release() {
 	pressed_ = false;
 	#ifdef HAVE_X11
 	auto &s = *impl_state_;
-	//XTestFakeButtonEvent (s.display, Button1, False, CurrentTime);
+	XTestFakeButtonEvent (s.display, Button1, False, CurrentTime);
 	#endif
 }
 
@@ -241,7 +241,7 @@ void ScreenCapture::_press() {
 	pressed_ = true;
 	#ifdef HAVE_X11
 	auto &s = *impl_state_;
-	//XTestFakeButtonEvent (s.display, Button1, True, CurrentTime);
+	XTestFakeButtonEvent (s.display, Button1, True, CurrentTime);
 	#endif
 
 	LOG(INFO) << "PRESS";
diff --git a/components/streams/src/renderers/collisions.cpp b/components/streams/src/renderers/collisions.cpp
index ddb5c2d5bd75fee56a8f56dcd362c4c081efb86e..aedd31c2eba747cabb2de9b6c5d10162d79b8e4a 100644
--- a/components/streams/src/renderers/collisions.cpp
+++ b/components/streams/src/renderers/collisions.cpp
@@ -47,7 +47,11 @@ void ftl::render::collision2touch(const ftl::rgbd::Frame &rgbdframe,
 						const auto &rgbdf = f.cast<ftl::rgbd::Frame>();
 
 						// TODO: Use Eigen directly.
-						auto pose = MatrixConversion::toCUDA((rgbdf.getPose().inverse() * rgbdframe.getPose()).cast<float>());
+						auto fpose = rgbdf.getPose();
+						if (s->hasChannel(Channel::Pose)) {
+							fpose = s->cast<ftl::rgbd::Frame>().getPose() * fpose;
+						}
+						auto pose = MatrixConversion::toCUDA((fpose.inverse() * rgbdframe.getPose()).cast<float>());
 						float3 campos = pose * rgbdframe.getLeft().screenToCam(clusters[0].x, clusters[0].y, clusters[0].z);
 						const auto &cam = rgbdf.getLeft();
 						int2 pt = cam.camToScreen<int2>(campos);