diff --git a/components/operators/src/correspondence.cu b/components/operators/src/correspondence.cu
index 828f7bcb1e942e50705a115c74e19bc20f0244e5..05d60106059df6855b65003af076bb751176e56f 100644
--- a/components/operators/src/correspondence.cu
+++ b/components/operators/src/correspondence.cu
@@ -215,7 +215,7 @@ __global__ void corresponding_point_kernel(
         uint stepMask = 1 << bestStep;
 		if ((stepMask & badMask) || (stepMask & (badMask << 1)) || (stepMask & (badMask >> 1))) bestweight = 0.0f;
 		
-		bestadjust = halfWarpBest(bestadjust, (bestweight > 0.0f) ? confidence : 0.0f);
+		//bestadjust = halfWarpBest(bestadjust, (bestweight > 0.0f) ? confidence : 0.0f);
 
         //Mask m(mask.tex2D(x,y));
 
@@ -226,8 +226,8 @@ __global__ void corresponding_point_kernel(
 				d1(x,y) = (0.4f*bestadjust) + depth1;
 				//d2(bestScreen.x, bestScreen.y) = bestdepth2;
                 //screenOut(x,y) = bestScreen;
-				//conf(x,y) = max(old,confidence); //bestweight * confidence;
-				conf(x,y) = max(old,fabs(bestadjust));
+				conf(x,y) = max(old,confidence); //bestweight * confidence;
+				//conf(x,y) = max(old,fabs(bestadjust));
             }
         //}
         
diff --git a/components/operators/src/mvmls.cpp b/components/operators/src/mvmls.cpp
index 4a61e63223bc14e07b9dd90695a6600b4be99b7e..8ff3c89dd8ce9f10882e4c5386b4de631f7836b9 100644
--- a/components/operators/src/mvmls.cpp
+++ b/components/operators/src/mvmls.cpp
@@ -72,6 +72,8 @@ bool MultiViewMLS::apply(ftl::rgbd::FrameSet &in, ftl::rgbd::FrameSet &out, cuda
         f.createTexture<float>(Channel::Confidence);
         f.create<GpuMat>(Channel::Screen, Format<short2>(size));
         f.createTexture<short2>(Channel::Screen);
+
+        f.get<GpuMat>(Channel::Confidence).setTo(cv::Scalar(0.0f), cvstream);
     }
 
     for (int iter=0; iter<iters; ++iter) {
@@ -84,7 +86,7 @@ bool MultiViewMLS::apply(ftl::rgbd::FrameSet &in, ftl::rgbd::FrameSet &out, cuda
             for (size_t i=0; i<in.frames.size(); ++i) {
                 auto &f1 = in.frames[i];
                 //f1.get<GpuMat>(Channel::Depth2).setTo(cv::Scalar(0.0f), cvstream);
-                f1.get<GpuMat>(Channel::Confidence).setTo(cv::Scalar(0.0f), cvstream);
+                //f1.get<GpuMat>(Channel::Confidence).setTo(cv::Scalar(0.0f), cvstream);
 
                 Eigen::Vector4d d1(0.0, 0.0, 1.0, 0.0);
                 d1 = in.sources[i]->getPose() * d1;
diff --git a/components/renderers/cpp/src/reprojection.cu b/components/renderers/cpp/src/reprojection.cu
index b23ad81e9c462f9d4aeb2b6a83d53331487b1db5..a4b27d4758ba4fe90a5a9f54ac28ad2a43e410c9 100644
--- a/components/renderers/cpp/src/reprojection.cu
+++ b/components/renderers/cpp/src/reprojection.cu
@@ -97,7 +97,7 @@ __global__ void reprojection_kernel(
 	const auto input = in.tex2D(screenPos.x, screenPos.y); //generateInput(in.tex2D((int)screenPos.x, (int)screenPos.y), params, worldPos);
 
 	// TODO: Z checks need to interpolate between neighbors if large triangles are used
-	float weight = ftl::cuda::weighting(fabs(camPos.z - d2), 0.02f);
+	float weight = ftl::cuda::weighting(fabs(camPos.z - d2), params.depthThreshold);
 
 	/* Buehler C. et al. 2001. Unstructured Lumigraph Rendering. */
 	/* Orts-Escolano S. et al. 2016. Holoportation: Virtual 3D teleportation in real-time. */