diff --git a/src/meshTools/PointEdgeWave/PointEdgeWave.C b/src/meshTools/PointEdgeWave/PointEdgeWave.C
index c27e8ab78f65d43512b3cdb88275c3a4b6ccb9b2..168d1f1d2d04e03cc2900e8dd0e4f333ee3a3958 100644
--- a/src/meshTools/PointEdgeWave/PointEdgeWave.C
+++ b/src/meshTools/PointEdgeWave/PointEdgeWave.C
@@ -515,13 +515,16 @@ void Foam::PointEdgeWave<Type>::handleProcPatches()
         label meshPointI = pd.sharedPointLabels()[i];
 
         // Retrieve my entries from the shared points
-        updatePoint
-        (
-            meshPointI,
-            sharedData[pd.sharedPointAddr()[i]],
-            propagationTol_,
-            allPointInfo_[meshPointI]
-        );
+        if (sharedData[pd.sharedPointAddr()[i]].valid())
+        {
+            updatePoint
+            (
+                meshPointI,
+                sharedData[pd.sharedPointAddr()[i]],
+                propagationTol_,
+                allPointInfo_[meshPointI]
+            );
+        }
     }
 }
 
diff --git a/src/meshTools/PointEdgeWave/PointEdgeWave.H b/src/meshTools/PointEdgeWave/PointEdgeWave.H
index f5f46ae151a46b86701f28a29dd311b195021a5c..e6f50d1cb1c88d521a81785d62994dde79e4b31c 100644
--- a/src/meshTools/PointEdgeWave/PointEdgeWave.H
+++ b/src/meshTools/PointEdgeWave/PointEdgeWave.H
@@ -350,8 +350,10 @@ public:
     {
         forAll(x, i)
         {
-            x[i].updatePoint(y[i], PointEdgeWave<Type>::propagationTol());
-        }
+            if (y[i].valid())
+            {
+                x[i].updatePoint(y[i], PointEdgeWave<Type>::propagationTol());
+            }
     }
 };