diff --git a/components/renderers/cpp/src/tri_render.cpp b/components/renderers/cpp/src/tri_render.cpp
index efb1c3f840c438fd4b81c96354f7c858e097c012..b3fba82a7de676f2aa963e80467a45dbf3f0bd13 100644
--- a/components/renderers/cpp/src/tri_render.cpp
+++ b/components/renderers/cpp/src/tri_render.cpp
@@ -499,7 +499,7 @@ bool Triangular::render(ftl::rgbd::VirtualSource *src, ftl::rgbd::Frame &out) {
 
 	out.get<GpuMat>(Channel::Depth).setTo(cv::Scalar(1000.0f), cvstream);
 
-	if (env_image_.empty()) {
+	if (env_image_.empty() || !value("environment_enabled", false)) {
 		out.get<GpuMat>(Channel::Colour).setTo(background_, cvstream);
 	} else {
 		auto pose = params.m_viewMatrixInverse.getFloat3x3();