diff --git a/src/sampling/sampledSet/face/faceOnlySet.C b/src/sampling/sampledSet/face/faceOnlySet.C
index ba351d2237e88f1e92f81d7352fd9a0048ce4448..bf1793d94444ad6008e932864ef62a9619b8118a 100644
--- a/src/sampling/sampledSet/face/faceOnlySet.C
+++ b/src/sampling/sampledSet/face/faceOnlySet.C
@@ -54,6 +54,8 @@ bool Foam::faceOnlySet::trackToBoundary
     DynamicList<scalar>& samplingCurveDist
 ) const
 {
+    const vector offset = (end_ - start_);
+
     particle::trackingData td(particleCloud);
 
     point trackPt = singleParticle.position();
@@ -75,9 +77,10 @@ bool Foam::faceOnlySet::trackToBoundary
             samplingCurveDist.append(mag(trackPt - start_));
         }
 
-        if (mag(trackPt - end_) < smallDist)
+        if (-smallDist < ((trackPt - end_) & offset))
         {
-            // End reached
+            // Projected onto sampling vector
+            // - done when we are near or past the end of the sampling vector
             return false;
         }
         else if (singleParticle.onBoundaryFace())
diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/controlDict b/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/controlDict
index e306a5ca5c982347966a9d0b8b8f3581d69cd762..06168ee7c29ae6a1146a11b0ece5739a1055f1fa 100644
--- a/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/controlDict
+++ b/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/controlDict
@@ -52,5 +52,6 @@ maxAlphaCo      1;
 
 maxDeltaT       1;
 
+#includeIfPresent "sampling"
 
 // ************************************************************************* //
diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/sampling b/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/sampling
new file mode 100644
index 0000000000000000000000000000000000000000..7ea902839251616698ad5cae27d17b54c1e59a74
--- /dev/null
+++ b/tutorials/multiphase/interFoam/laminar/damBreak/damBreak/system/sampling
@@ -0,0 +1,54 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  plus                                  |
+|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      sampling;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+functions
+{
+    sampleSets
+    {
+        type    sets;
+        libs    ("libsampling.so");
+
+        writeControl  timeStep;
+        writeInterval 1;
+
+        setFormat           vtk;
+        interpolationScheme cellPointFace;
+        fields ( alpha.water );
+
+        sets
+        (
+            gauge_1
+            {
+                type    face;
+                axis    y;
+                start   (0.02 0.20 0.005);
+                end     (0.02 0.25 0.005);
+                nPoints 100;
+            }
+
+            gauge_2
+            {
+                type    face;
+                axis    y;
+                start   (0.2 0.03 0.005);
+                end     (0.2 0.55 0.005);
+                nPoints 100;
+            }
+        );
+    }
+}
+
+// ************************************************************************* //