diff --git a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
index 2848854d6827316c3a99845c67c8afa487adbc9a..693f58b1c320553ba34adfa78cb3d3ec0386394c 100644
--- a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
+++ b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
@@ -72,6 +72,12 @@ int main(int argc, char *argv[])
 #   include "createTime.H"
 #   include "createNamedMesh.H"
 
+    fileName regionPrefix = "";
+    if (regionName != fvMesh::defaultRegion)
+    {
+        regionPrefix = regionName;
+    }
+
     // Get the replacement rules from a dictionary
     IOdictionary dict
     (
@@ -113,7 +119,11 @@ int main(int argc, char *argv[])
                 IOobject
                 (
                     fieldName,
-                    runTime.findInstance(polyMesh::meshSubDir, fieldName),
+                    runTime.findInstance
+                    (
+                        regionPrefix/polyMesh::meshSubDir,
+                        fieldName
+                    ),
                     polyMesh::meshSubDir,
                     mesh,
                     IOobject::MUST_READ,