diff --git a/components/renderers/cpp/src/splat_render.cpp b/components/renderers/cpp/src/splat_render.cpp
index 4e64c25bf5f2ca2fd595c929e77b02e1621c3418..30c47dc1179018a552d8b083245eac71ba56dae2 100644
--- a/components/renderers/cpp/src/splat_render.cpp
+++ b/components/renderers/cpp/src/splat_render.cpp
@@ -465,7 +465,7 @@ bool Splatter::render(ftl::rgbd::VirtualSource *src, ftl::rgbd::Frame &out) {
 
 		Eigen::Matrix4f transform = Eigen::Matrix4f::Identity();
 		transform(0, 3) = baseline;
-		Eigen::Matrix4f matrix =  src->getPose().cast<float>() * transform.inverse();
+		Eigen::Matrix4f matrix = transform.inverse() * src->getPose().cast<float>();
 		
 		params.m_viewMatrix = MatrixConversion::toCUDA(matrix.inverse());
 		params.m_viewMatrixInverse = MatrixConversion::toCUDA(matrix);