diff --git a/src/sampling/sampledSurface/distanceSurface/distanceSurface.C b/src/sampling/sampledSurface/distanceSurface/distanceSurface.C
index 450384506a79664ba333bbc5f1450d4f95c40787..3a6562b897616404b8056da0a6b4f083f4d8d88c 100644
--- a/src/sampling/sampledSurface/distanceSurface/distanceSurface.C
+++ b/src/sampling/sampledSurface/distanceSurface/distanceSurface.C
@@ -50,6 +50,9 @@ void Foam::distanceSurface::createGeometry()
     // Clear any stored topologies
     facesPtr_.clear();
 
+    // Clear derived data
+    clearGeom();
+
     const fvMesh& fvm = static_cast<const fvMesh&>(mesh());
 
     // Distance to cell centres
@@ -361,6 +364,9 @@ bool Foam::distanceSurface::expire()
     // Clear any stored topologies
     facesPtr_.clear();
 
+    // Clear derived data
+    clearGeom();
+
     // already marked as expired
     if (needsUpdate_)
     {
diff --git a/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C b/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C
index b70461cef3fda1e5a510d6637635b53835a0f925..46d6f108ccfe4e9f6a766f9b213d956768e29840 100644
--- a/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C
+++ b/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C
@@ -333,6 +333,9 @@ bool Foam::sampledIsoSurface::updateGeometry() const
     surfPtr_.clear();
     facesPtr_.clear();
 
+    // Clear derived data
+    clearGeom();
+
     if (subMeshPtr_.valid())
     {
         surfPtr_.reset
@@ -471,6 +474,9 @@ bool Foam::sampledIsoSurface::expire()
     facesPtr_.clear();
     subMeshPtr_.clear();
 
+    // Clear derived data
+    clearGeom();
+
     // already marked as expired
     if (prevTimeIndex_ == -1)
     {
diff --git a/src/sampling/sampledSurface/isoSurface/sampledIsoSurfaceCell.C b/src/sampling/sampledSurface/isoSurface/sampledIsoSurfaceCell.C
index 155e12bbd225213dc706d71acaa1d423b8da2d60..7d1b138f5ef8880e84e8a4edf675571a54585cbc 100644
--- a/src/sampling/sampledSurface/isoSurface/sampledIsoSurfaceCell.C
+++ b/src/sampling/sampledSurface/isoSurface/sampledIsoSurfaceCell.C
@@ -62,6 +62,9 @@ bool Foam::sampledIsoSurfaceCell::updateGeometry() const
     // Clear any stored topo
     facesPtr_.clear();
 
+    // Clear derived data
+    sampledSurface::clearGeom();
+
     // Optionally read volScalarField
     autoPtr<volScalarField> readFieldPtr_;
 
@@ -240,6 +243,9 @@ bool Foam::sampledIsoSurfaceCell::expire()
 {
     facesPtr_.clear();
 
+    // Clear derived data
+    sampledSurface::clearGeom();
+
     // already marked as expired
     if (prevTimeIndex_ == -1)
     {
diff --git a/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C b/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C
index bfbb5293f781dabec8173a4bb8313ac0a92e80b8..3c88d38d6f5e762b5515d35de040180aa39ece3b 100644
--- a/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C
+++ b/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C
@@ -60,6 +60,8 @@ void Foam::sampledCuttingPlane::createGeometry()
     pointDistance_.clear();
     cellDistancePtr_.clear();
 
+    // Clear derived data
+    clearGeom();
 
     // Get any subMesh
     if (zoneID_.index() != -1 && !subMeshPtr_.valid())
@@ -321,6 +323,9 @@ bool Foam::sampledCuttingPlane::expire()
     // Clear any stored topologies
     facesPtr_.clear();
 
+    // Clear derived data
+    clearGeom();
+
     // already marked as expired
     if (needsUpdate_)
     {
diff --git a/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C b/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C
index 0d9e1312ab7fdd1cec1ccffd92b5130e2dd83c4a..c8a3291ede24f685ca09219c1fdf934be5f86f0d 100644
--- a/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C
+++ b/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C
@@ -124,6 +124,8 @@ bool Foam::sampledThresholdCellFaces::updateGeometry() const
     ).MeshedSurface<face>::transfer(surf);
     meshCells_.transfer(surf.meshCells());
 
+    // clear derived data
+    sampledSurface::clearGeom();
 
     if (debug)
     {