diff --git a/components/operators/src/clipping.cpp b/components/operators/src/clipping.cpp
index fb51340e5afe94d636862a791fc1fedf84150c09..fa0a5c7efebc2d7de8e705d639d8c6c1bb1aa48d 100644
--- a/components/operators/src/clipping.cpp
+++ b/components/operators/src/clipping.cpp
@@ -77,7 +77,7 @@ bool ClipScene::apply(ftl::rgbd::FrameSet &in, ftl::rgbd::FrameSet &out, cudaStr
 			auto sclip = clip;
 			sclip.origin = sclip.origin.getInverse() * pose;
 			if (!no_clip) {
-				if (clip_colour) {
+				if (clip_colour && f.hasChannel(Channel::Colour)) {
 					f.set<ftl::rgbd::VideoFrame>(Channel::Colour);
 					f.set<ftl::rgbd::VideoFrame>(Channel::Depth);
 					ftl::cuda::clipping(f.createTexture<float>(Channel::Depth), f.getTexture<uchar4>(Channel::Colour), f.getLeftCamera(), sclip, stream);