diff --git a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C
index 4882c118a0bded103994f2264c9ff2169acdc4e1..36a6ad2eb4c10fe1ff21a4dc5f2c6af8a3465034 100644
--- a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C
+++ b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C
@@ -860,6 +860,16 @@ bool Foam::domainDecomposition::writeDecomposition()
     scalar avgProcPatches = scalar(totProcPatches)/nProcs_;
     scalar avgProcFaces = scalar(totProcFaces)/nProcs_;
 
+    // In case of all faces on one processor. Just to avoid division by 0.
+    if (totProcPatches == 0)
+    {
+        avgProcPatches = 1;
+    }
+    if (totProcFaces == 0)
+    {
+        avgProcFaces = 1;
+    }
+
     Info<< nl
         << "Number of processor faces = " << totProcFaces/2 << nl
         << "Max number of cells = " << maxProcCells
diff --git a/applications/utilities/parallelProcessing/redistributeMeshPar/redistributeMeshPar.C b/applications/utilities/parallelProcessing/redistributeMeshPar/redistributeMeshPar.C
index 8812e78e64e9db58f617bf180807feeba3807b81..509bff88986f1cb87e2742980a013bd24414bd19 100644
--- a/applications/utilities/parallelProcessing/redistributeMeshPar/redistributeMeshPar.C
+++ b/applications/utilities/parallelProcessing/redistributeMeshPar/redistributeMeshPar.C
@@ -475,6 +475,16 @@ void printMeshData(const polyMesh& mesh)
     scalar avgProcPatches = scalar(totProcPatches)/Pstream::nProcs();
     scalar avgProcFaces = scalar(totProcFaces)/Pstream::nProcs();
 
+    // In case of all faces on one processor. Just to avoid division by 0.
+    if (totProcPatches == 0)
+    {
+        avgProcPatches = 1;
+    }
+    if (totProcFaces == 0)
+    {
+        avgProcFaces = 1;
+    }
+
     Info<< nl
         << "Number of processor faces = " << totProcFaces/2 << nl
         << "Max number of cells = " << maxProcCells