diff --git a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options
index eb114a81003e6ee77416fee85501e0d9e9be406e..3c22d1310b42e89f48dfcb7a5bf71d769f4658e7 100644
--- a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options
+++ b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options
@@ -5,4 +5,5 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lmeshTools \
     -lfieldFunctionObjects
diff --git a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/addRegionsOption.H b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/addRegionsOption.H
deleted file mode 100644
index 8bafcf5c395cc50d7a4cbea3f49ae8383412609d..0000000000000000000000000000000000000000
--- a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/addRegionsOption.H
+++ /dev/null
@@ -1,10 +0,0 @@
-//
-// addRegionOption.H
-// ~~~~~~~~~~~~~~~~~
-
-    Foam::argList::addOption
-    (
-        "regions",
-        "(name1 .. nameN)",
-        "Specify alternative mesh regions"
-    );
diff --git a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/createExternalCoupledPatchGeometry.C b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/createExternalCoupledPatchGeometry.C
index 3ebce5397792ae8627b5969c16c2e519a005ee24..e301b83810630a0fc71097ad98562fbc458b4d65 100644
--- a/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/createExternalCoupledPatchGeometry.C
+++ b/applications/utilities/preProcessing/createExternalCoupledPatchGeometry/createExternalCoupledPatchGeometry.C
@@ -6,7 +6,7 @@
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
     Copyright (C) 2013-2015 OpenFOAM Foundation
-    Copyright (C) 2016 OpenCFD Ltd.
+    Copyright (C) 2016-2021 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -46,7 +46,7 @@ Usage
     \param -region \<name\> \n
     Specify an alternative mesh region.
 
-    \param -regions (\<name1\> \<name2\> .. \<namen\>) \n
+    \param -regions (\<name1\> .. \<nameN\>) \n
     Specify alternative mesh regions. The region names will be sorted
     alphabetically and a single composite name will be created
         \<nameX\>_\<nameY\>.._\<nameZ\>
@@ -65,6 +65,7 @@ See also
 
 #include "fvCFD.H"
 #include "externalCoupled.H"
+#include "regionProperties.H"
 #include "IOobjectList.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -77,8 +78,19 @@ int main(int argc, char *argv[])
         " with the externalCoupled functionObject."
     );
 
-    #include "addRegionOption.H"
-    #include "addRegionsOption.H"
+    argList::addOption
+    (
+        "region",
+        "name",
+        "Specify alternative mesh region"
+    );
+    argList::addOption
+    (
+        "regions",
+        "(name1 .. nameN)",
+        "Specify alternative mesh regions"
+    );
+
     argList::addArgument("patchGroup");
     argList::addOption
     (
@@ -106,19 +118,22 @@ int main(int argc, char *argv[])
 
 
     PtrList<const fvMesh> meshes(regionNames.size());
-    forAll(regionNames, i)
+    forAll(regionNames, regioni)
     {
-        Info<< "Create mesh " << regionNames[i] << " for time = "
+        const word& regionName = regionNames[regioni];
+
+        Info<< "Create mesh " << regionName
+            << " for time = "
             << runTime.timeName() << nl << endl;
 
         meshes.set
         (
-            i,
+            regioni,
             new fvMesh
             (
                 Foam::IOobject
                 (
-                    regionNames[i],
+                    regionName,
                     runTime.timeName(),
                     runTime,
                     Foam::IOobject::MUST_READ