# HG changeset patch
# Parent 5bf0d3912694baf27c505a34339c49b03e1c4468

diff --git a/src/sampling/sampledSurface/distanceSurface/distanceSurface.C b/src/sampling/sampledSurface/distanceSurface/distanceSurface.C
--- a/src/sampling/sampledSurface/distanceSurface/distanceSurface.C
+++ b/src/sampling/sampledSurface/distanceSurface/distanceSurface.C
@@ -52,6 +52,9 @@
     // Clear any stored topologies
     facesPtr_.clear();
 
+    // Clear derived data
+    clearGeom();
+
     const fvMesh& fvm = static_cast<const fvMesh&>(mesh());
 
     // Distance to cell centres
@@ -327,6 +330,9 @@
     // 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
--- a/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C
+++ b/src/sampling/sampledSurface/isoSurface/sampledIsoSurface.C
@@ -423,6 +423,9 @@
     surfPtr_.clear();
     facesPtr_.clear();
 
+    // Clear derived data
+    clearGeom();
+
     if (subMeshPtr_.valid())
     {
         surfPtr_.reset
@@ -561,6 +564,9 @@
     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
--- a/src/sampling/sampledSurface/isoSurface/sampledIsoSurfaceCell.C
+++ b/src/sampling/sampledSurface/isoSurface/sampledIsoSurfaceCell.C
@@ -56,6 +56,9 @@
     // Clear any stored topo
     facesPtr_.clear();
 
+    // Clear derived data
+    sampledSurface::clearGeom();
+
     // Optionally read volScalarField
     autoPtr<volScalarField> readFieldPtr_;
 
@@ -237,6 +240,9 @@
 {
     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
--- a/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C
+++ b/src/sampling/sampledSurface/sampledCuttingPlane/sampledCuttingPlane.C
@@ -61,6 +61,8 @@
     pointDistance_.clear();
     cellDistancePtr_.clear();
 
+    // Clear derived data
+    clearGeom();
 
     // Get any subMesh
     if (zoneID_.index() != -1 && !subMeshPtr_.valid())
@@ -313,6 +315,9 @@
     // 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
--- a/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C
+++ b/src/sampling/sampledSurface/thresholdCellFaces/sampledThresholdCellFaces.C
@@ -124,6 +124,8 @@
     ).MeshedSurface<face>::transfer(surf);
     meshCells_.transfer(surf.meshCells());
 
+    // clear derived data
+    sampledSurface::clearGeom();
 
     if (debug)
     {
