diff --git a/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C b/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C
index b15a09c15ac4f0430ab8c04c3b5afc47a71a1011..6169047e385fde7d21836143243e8f4ccbbd258d 100644
--- a/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C
+++ b/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C
@@ -3,7 +3,7 @@
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
     \\  /    A nd           | Copyright (C) 2016-2017 OpenFOAM Foundation
-     \\/     M anipulation  | Copyright (C) 2017 OpenCFD Ltd.
+     \\/     M anipulation  | Copyright (C) 2017-2018 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -334,7 +334,11 @@ int main(int argc, char *argv[])
     const bool disableEntries = args.found("disableFunctionEntries");
     if (disableEntries)
     {
-        Info<< "Not expanding variables or dictionary directives" << endl;
+        // Report on stderr (once) to avoid polluting the output
+        if (Pstream::master())
+        {
+            Serr<< "Not expanding variables or dictionary directives" << endl;
+        }
         entry::disableFunctionEntries = true;
     }
 
diff --git a/bin/tools/RunFunctions b/bin/tools/RunFunctions
index f7909c7518499d1955833ca215d882d42f3793b6..6c0842006e6ac9e1d77ca7c34c965933243f0a7e 100644
--- a/bin/tools/RunFunctions
+++ b/bin/tools/RunFunctions
@@ -56,6 +56,9 @@ notTest()
 # Extract 'numberOfSubdomains' from system/decomposeParDict
 # (or alternative location).
 #
+# Note that '#include' and other directives are disabled - only entries that
+# are in the dictionary are considered.
+#
 # On failure:
 #    return '1'
 #    exit status 1
@@ -65,13 +68,13 @@ getNumberOfProcessors()
     local dict="${1:-system/decomposeParDict}"
 
     # Re-use positional parameters for automatic whitespace elimination
-    set -- $(foamDictionary -entry numberOfSubdomains -value "$dict" 2>/dev/null)
+    set -- $(foamDictionary -disableFunctionEntries -entry numberOfSubdomains -value "$dict" 2>/dev/null)
 
     if [ "$#" -eq 1 ]
     then
         echo "$1"
     else
-        echo "Warning no 'numberOfSubdomains' in '$dict'" 1>&2
+        echo "Error getting 'numberOfSubdomains' from '$dict'" 1>&2
         echo 1 # serial as fallback
         return 1
     fi
@@ -81,6 +84,9 @@ getNumberOfProcessors()
 #
 # Extract 'application' from system/controlDict
 #
+# Note that '#include' and other directives are disabled - only entries that
+# are in the dictionary are considered.
+#
 # On failure:
 #    return 'false' which is also a command (ie, shell builtin or /bin/false)
 #    exit status 1
@@ -88,13 +94,13 @@ getNumberOfProcessors()
 getApplication()
 {
     # Re-use positional parameters for automatic whitespace elimination
-    set -- $(foamDictionary -entry application -value system/controlDict)
+    set -- $(foamDictionary -disableFunctionEntries -entry application -value system/controlDict)
 
     if [ "$#" -eq 1 ]
     then
         echo "$1"
     else
-        echo "Error retrieving 'application' from controlDict" 1>&2
+        echo "Error getting 'application' from system/controlDict" 1>&2
         echo false
         return 1
     fi