diff --git a/src/OpenFOAM/meshes/polyMesh/polyMeshFromShapeMesh.C b/src/OpenFOAM/meshes/polyMesh/polyMeshFromShapeMesh.C
index 9a3e69faf5740036417922052c2f9a4b1509fbf5..62c1877fc16c8575520f6d7c3b3b2eb810db4ffc 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyMeshFromShapeMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyMeshFromShapeMesh.C
@@ -328,9 +328,7 @@ void Foam::polyMesh::setTopology
 
             const label cellInside = curPatchFaceCells[faceI];
 
-            faces_[nFaces] = curFace;
-
-            // get faces of the cell inside
+            // Get faces of the cell inside
             const faceList& facesOfCellInside = cellsFaceShapes[cellInside];
 
             bool found = false;
@@ -366,6 +364,9 @@ void Foam::polyMesh::setTopology
 
                     found = true;
 
+                    // Set the patch face to corresponding cell-face
+                    faces_[nFaces] = facesOfCellInside[cellFaceI];
+
                     cells[cellInside][cellFaceI] = nFaces;
 
                     break;