diff --git a/components/operators/src/mask.cpp b/components/operators/src/mask.cpp
index 8a8fdaa4b5599ced36cc89d90695a5b8ff20fe81..ac56ba2ad9181324cec41e70067a4e6b7b22880e 100644
--- a/components/operators/src/mask.cpp
+++ b/components/operators/src/mask.cpp
@@ -45,6 +45,8 @@ CullDiscontinuity::~CullDiscontinuity() {
 }
 
 bool CullDiscontinuity::apply(ftl::rgbd::Frame &in, ftl::rgbd::Frame &out, cudaStream_t stream) {
+	if (!in.hasChannel(Channel::Depth) || !in.hasChannel(Channel::Mask)) return false;
+	
 	out.clearPackets(Channel::Depth);  // Force reset
 	ftl::cuda::cull_discontinuity(
 		in.createTexture<int>(Channel::Mask),