diff --git a/components/operators/include/ftl/operators/disparity.hpp b/components/operators/include/ftl/operators/disparity.hpp
index efa3a5128142e0d7cb9b5d5deb1c2e7dc376a38c..b28bafcb2f73803a68f858656db02967ed0a0d88 100644
--- a/components/operators/include/ftl/operators/disparity.hpp
+++ b/components/operators/include/ftl/operators/disparity.hpp
@@ -53,7 +53,7 @@ class DisparityBilateralFilter : public::ftl::operators::Operator {
 	double scale_;
 	int radius_;
 	int iter_;
-	int max_disp_;
+	int n_disp_;
 };
 
 /*
diff --git a/components/operators/src/disparity/bilateral_filter.cpp b/components/operators/src/disparity/bilateral_filter.cpp
index 8489e6a4b36b5e46b825e5a7323024d024e5b626..09e92024a23fe611c20f9c66220388f1825bc707 100644
--- a/components/operators/src/disparity/bilateral_filter.cpp
+++ b/components/operators/src/disparity/bilateral_filter.cpp
@@ -12,9 +12,10 @@ DisparityBilateralFilter::DisparityBilateralFilter(ftl::Configurable* cfg) :
 		ftl::operators::Operator(cfg) {
 	
 	scale_ = 16.0;
+	n_disp_ = cfg->value("n_disp", 256);
 	radius_ = cfg->value("radius", 7);
 	iter_ = cfg->value("iter", 13);
-	filter_ = cv::cuda::createDisparityBilateralFilter(max_disp_ << 4, radius_, iter_);
+	filter_ = cv::cuda::createDisparityBilateralFilter(n_disp_ * scale_, radius_, iter_);
 }
 
 bool DisparityBilateralFilter::apply(ftl::rgbd::Frame &in, ftl::rgbd::Frame &out,