diff --git a/components/operators/src/mask.cpp b/components/operators/src/mask.cpp
index 31038b7bbae52aa6e66dcf0f14c681ef51a16236..0fe2030c7c89abe026d931bfa9c4241ae71a572a 100644
--- a/components/operators/src/mask.cpp
+++ b/components/operators/src/mask.cpp
@@ -64,6 +64,10 @@ bool BorderMask::apply(ftl::rgbd::Frame &in, ftl::rgbd::Frame &out, cudaStream_t
 	int topm = config()->value("top",5);
 	int bottomm = config()->value("bottom",5);
 
+	if (!in.hasChannel(Channel::Depth)) {
+		return true;
+	}
+
 	ftl::cuda::border_mask(
 		out.createTexture<uint8_t>(Channel::Mask, ftl::rgbd::Format<uint8_t>(in.get<cv::cuda::GpuMat>(Channel::Depth).size())),
 		leftm, rightm, topm, bottomm, stream