diff --git a/src/dynamicMesh/meshCut/cellCuts/cellCuts.C b/src/dynamicMesh/meshCut/cellCuts/cellCuts.C
index 32e36d279c7cb7e386bdafbc4794d15d7ee2695a..2358feb5e2c869a3f92f88ffaee4c0539bfc57b1 100644
--- a/src/dynamicMesh/meshCut/cellCuts/cellCuts.C
+++ b/src/dynamicMesh/meshCut/cellCuts/cellCuts.C
@@ -242,7 +242,12 @@ void Foam::cellCuts::syncProc()
                             else
                             {
                                 label oppFp = relCut[i]-1;
-                                label fp = f.size()-1-oppFp;
+                                label fp =
+                                (
+                                    oppFp == 0
+                                  ? 0
+                                  : f.size()-oppFp
+                                );
                                 absoluteCut[i] = vertToEVert(f[fp]);
                             }
                         }