diff --git a/src/OpenFOAM/meshes/polyMesh/polyMesh.C b/src/OpenFOAM/meshes/polyMesh/polyMesh.C
index 4c08d917e7c443f3ffd8747a204417f66c5bd73b..1e08d994e3449f6e8eba1d0ac080393f88769d43 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyMesh.C
@@ -36,6 +36,7 @@ License
 #include "polyMeshTetDecomposition.H"
 #include "indexedOctree.H"
 #include "treeDataCell.H"
+#include "SubField.H"
 
 #include "pointMesh.H"
 
diff --git a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C
index 0c8b033fbc0e7828e155518d7a81948e5ca2cf95..359c6510200252f3d76396864e055ffc8e76ded6 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C
@@ -35,6 +35,7 @@ License
 #include "Time.H"
 #include "diagTensor.H"
 #include "transformField.H"
+#include "SubField.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C
index 23356b7069b78497338a1a22000da1ba8653c84f..9321959b2d271cf1a02e783c422818353531622d 100644
--- a/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C
+++ b/src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C
@@ -31,6 +31,7 @@ License
 #include "contiguous.H"
 #include "transform.H"
 #include "transformList.H"
+#include "SubField.H"
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMesh.H b/src/OpenFOAM/meshes/primitiveMesh/primitiveMesh.H
index 92937ed1587b80afcd5c38ac4b44008b3b4d2761..65f2adb15700f6118fc5ac15b77d3480cccb8d67 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMesh.H
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMesh.H
@@ -56,8 +56,6 @@ SourceFiles
 #include "DynamicList.H"
 #include "edgeList.H"
 #include "pointField.H"
-#include "SubField.H"
-#include "SubList.H"
 #include "faceList.H"
 #include "cellList.H"
 #include "cellShapeList.H"
@@ -65,8 +63,6 @@ SourceFiles
 #include "boolList.H"
 #include "HashSet.H"
 #include "Map.H"
-#include "EdgeMap.H"
-#include "boundBox.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshCheck.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshCheck.C
index 0cec531bde8c7ff967794b9354fec363af855a80..94481b0eb72c78a37d3ec1617f320defc35fceb9 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshCheck.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshCheck.C
@@ -29,7 +29,7 @@ License
 #include "ListOps.H"
 #include "unitConversion.H"
 #include "SortableList.H"
-
+#include "EdgeMap.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshClear.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshClear.C
index cc232c162f7f4d242c56531bccacb41084f15cc8..464bfd60b04e0da254bed7354c8683e478d91de8 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshClear.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshClear.C
@@ -25,7 +25,8 @@ License
 
 #include "primitiveMesh.H"
 #include "demandDrivenData.H"
-
+#include "indexedOctree.H"
+#include "treeDataCell.H"
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFindCell.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFindCell.C
index c7087aa70fb6541de4f1f7b06eb7aa024ff1208e..32252cc3e6412f3a47d0172123d408e267514e48 100644
--- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFindCell.C
+++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFindCell.C
@@ -25,6 +25,7 @@ License
 
 #include "primitiveMesh.H"
 #include "cell.H"
+#include "boundBox.H"
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
diff --git a/src/meshTools/cellDist/patchWave/patchWave.C b/src/meshTools/cellDist/patchWave/patchWave.C
index a8f55f5722e9f941e44af3e4280b6d07ea315a8c..2d688c43b0b2c4d212a04f0e6d1354bb2634f664 100644
--- a/src/meshTools/cellDist/patchWave/patchWave.C
+++ b/src/meshTools/cellDist/patchWave/patchWave.C
@@ -27,6 +27,7 @@ License
 #include "polyMesh.H"
 #include "wallPoint.H"
 #include "globalMeshData.H"
+#include "SubField.H"
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
diff --git a/src/meshTools/cellQuality/cellQuality.C b/src/meshTools/cellQuality/cellQuality.C
index ba1c5af98161731d2aae69ae20c653be21f83094..e34cf0cc12c22d60b1564282903a0bce0afe8a58 100644
--- a/src/meshTools/cellQuality/cellQuality.C
+++ b/src/meshTools/cellQuality/cellQuality.C
@@ -26,6 +26,7 @@ License
 
 #include "cellQuality.H"
 #include "unitConversion.H"
+#include "SubField.H"
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
diff --git a/src/meshTools/directMapped/directMappedPolyPatch/directMappedPatchBase.C b/src/meshTools/directMapped/directMappedPolyPatch/directMappedPatchBase.C
index 544245faf57bcbb3e984dbb1308e516279e24b23..f49a9b6ce6ce64fcaa7d60fb3fd990516fa0b927 100644
--- a/src/meshTools/directMapped/directMappedPolyPatch/directMappedPatchBase.C
+++ b/src/meshTools/directMapped/directMappedPolyPatch/directMappedPatchBase.C
@@ -36,6 +36,7 @@ License
 #include "polyPatch.H"
 #include "Time.H"
 #include "mapDistribute.H"
+#include "SubField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/meshTools/twoDPointCorrector/twoDPointCorrector.C b/src/meshTools/twoDPointCorrector/twoDPointCorrector.C
index 85cb88041047d0bc80487e4d60cf9ff42a47b4e0..8aeba886c46bc00097c5ef7f0e27cf84e2a1cc83 100644
--- a/src/meshTools/twoDPointCorrector/twoDPointCorrector.C
+++ b/src/meshTools/twoDPointCorrector/twoDPointCorrector.C
@@ -27,6 +27,7 @@ License
 #include "polyMesh.H"
 #include "wedgePolyPatch.H"
 #include "emptyPolyPatch.H"
+#include "SubField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/parallel/decompose/decompositionMethods/simpleGeomDecomp/simpleGeomDecomp.C b/src/parallel/decompose/decompositionMethods/simpleGeomDecomp/simpleGeomDecomp.C
index 4ce8706dea087ca9abea6eea014f425def63ce77..84b3dc05443eec4a0cb1b7fbd16401a4d491572a 100644
--- a/src/parallel/decompose/decompositionMethods/simpleGeomDecomp/simpleGeomDecomp.C
+++ b/src/parallel/decompose/decompositionMethods/simpleGeomDecomp/simpleGeomDecomp.C
@@ -27,6 +27,7 @@ License
 #include "addToRunTimeSelectionTable.H"
 #include "SortableList.H"
 #include "globalIndex.H"
+#include "SubField.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C b/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C
index 5083bb0e891a07124b33742c5e23a851f9fc5f09..655b58fde1a93230111b1f76baba6c34ed62cbdc 100644
--- a/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C
+++ b/src/parallel/decompose/ptscotchDecomp/ptscotchDecomp.C
@@ -117,6 +117,7 @@ License
 #include "Time.H"
 #include "OFstream.H"
 #include "globalIndex.H"
+#include "SubField.H"
 
 extern "C"
 {
diff --git a/src/parallel/decompose/scotchDecomp/scotchDecomp.C b/src/parallel/decompose/scotchDecomp/scotchDecomp.C
index b569b0bae5c83cfd83b699539a577fa1b32e837e..3297b4946176f850e13505276bc051e936c7c330 100644
--- a/src/parallel/decompose/scotchDecomp/scotchDecomp.C
+++ b/src/parallel/decompose/scotchDecomp/scotchDecomp.C
@@ -110,6 +110,7 @@ License
 #include "Time.H"
 #include "OFstream.H"
 #include "globalIndex.H"
+#include "SubField.H"
 
 extern "C"
 {