diff --git a/src/OpenFOAM/db/dictionary/dictionaryCompat.C b/src/OpenFOAM/db/dictionary/dictionaryCompat.C
index ab8e50001469943cf475a28d28529719f53cba12..49fb277fb54ac7c8519e1db66348a69cdb510626 100644
--- a/src/OpenFOAM/db/dictionary/dictionaryCompat.C
+++ b/src/OpenFOAM/db/dictionary/dictionaryCompat.C
@@ -24,6 +24,7 @@ License
 \*---------------------------------------------------------------------------*/
 
 #include "dictionary.H"
+#include "Pstream.H"
 
 // * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * //
 
@@ -65,7 +66,14 @@ Foam::dictionary::const_searcher Foam::dictionary::csearchCompat
 
         if (finder.found())
         {
-            if (shouldWarnVersion(iter.second))
+            // Only want a single warning (on master), but guard with a
+            // parRun check to avoid Pstream::master() when Pstream has not
+            // yet been initialized
+            if
+            (
+                shouldWarnVersion(iter.second)
+             && (Pstream::parRun() ? Pstream::master() : true)
+            )
             {
                 std::cerr
                     << "--> FOAM IOWarning :" << nl