diff --git a/src/OpenFOAM/meshes/polyMesh/polyMeshCheck/polyMeshCheck.C b/src/OpenFOAM/meshes/polyMesh/polyMeshCheck/polyMeshCheck.C
index 2b241bf6cddc84d2420a2cfe0361abee466dc4aa..3918efc3fc629fb1f343f85a02b2a582c9955083 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyMeshCheck/polyMeshCheck.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyMeshCheck/polyMeshCheck.C
@@ -105,7 +105,8 @@ bool Foam::polyMesh::checkFaceOrthogonality
                         << faceI
                         << " between cells " << own[faceI]
                         << " and " << nei[faceI]
-                        << ": Angle = " << radToDeg(::acos(ortho[faceI]))
+                        << ": Angle = "
+                        << radToDeg(::acos(min(1.0, max(-1.0, ortho[faceI]))))
                         << " deg." << endl;
                 }
 
@@ -134,8 +135,9 @@ bool Foam::polyMesh::checkFaceOrthogonality
             if (debug || report)
             {
                 Info<< "    Mesh non-orthogonality Max: "
-                    << radToDeg(::acos(minDDotS))
-                    << " average: " << radToDeg(::acos(sumDDotS/nSummed))
+                    << radToDeg(::acos(min(1.0, max(-1.0, minDDotS))))
+                    << " average: "
+                    << radToDeg(::acos(min(1.0, max(-1.0, sumDDotS/nSummed))))
                     << endl;
             }
         }