diff --git a/src/finiteVolume/cfdTools/general/porousMedia/porousZone.C b/src/finiteVolume/cfdTools/general/porousMedia/porousZone.C
index 34e85c2e272eb3a48c93cace73178ba5fccc17b6..3251e2541eeeb5834d134dd62622477dc9c820fe 100644
--- a/src/finiteVolume/cfdTools/general/porousMedia/porousZone.C
+++ b/src/finiteVolume/cfdTools/general/porousMedia/porousZone.C
@@ -81,7 +81,10 @@ Foam::porousZone::porousZone
 {
     Info<< "Creating porous zone: " << name_ << endl;
 
-    if (cellZoneID_ == -1 && !Pstream::parRun())
+    bool foundZone = (cellZoneID_ != -1);
+    reduce(foundZone, orOp<bool>());
+
+    if (!foundZone && Pstream::master())
     {
         FatalErrorIn
         (
@@ -91,6 +94,7 @@ Foam::porousZone::porousZone
             << exit(FatalError);
     }
 
+
     // porosity
     if (dict_.readIfPresent("porosity", porosity_))
     {