     // Test for clipping.
     const bool clippedPlane = (clipPlane && (((t <= tpnear) && (nddot >= 0.0f))
                                           || ((t >= tpnear) && (nddot < 0.0f))));
-    const bool clippedSphere = (clipSphere && (t >= tsnear) && (t <= tsfar));
+    const bool clippedSphere = useSphereAsProbe ? (clipSphere && ((t < tsnear) || (t > tsfar)))
+                                                : (clipSphere && (t >= tsnear) && (t <= tsfar));
 
     if (clippedPlane || clippedSphere)
     {

             true, // Opacity correction.
             false, // Jittering.
             false, // Clip sphere.
             false // Clip plane.
            ><<<gridSize, blockSize>>>(d_output, width, height,
                                       diagonalVoxels / (float)numSlices,
                                       volSize * 0.5f,

    float tmp = *tnear;
    *tnear = *tfar;
    *tfar = tmp;
    return true;
  }
  return false;
}

__device__ bool intersectBox(const Ray& ray, const float3& boxmin, const float3& boxmax,
