diff --git a/src/OpenFOAM/db/error/messageStream.C b/src/OpenFOAM/db/error/messageStream.C
index 98febd8f58708077dc68ccc6ac50735d9fcc5d5f..afec263908bddb790cc73f8eb274828908a4c412 100644
--- a/src/OpenFOAM/db/error/messageStream.C
+++ b/src/OpenFOAM/db/error/messageStream.C
@@ -188,12 +188,12 @@ Foam::OSstream& Foam::messageStream::operator()
 
 Foam::OSstream& Foam::messageStream::operator()(const bool output)
 {
-    if (output && level)
+    if (level)
     {
         bool collect = (severity_ == INFO || severity_ == WARNING);
 
         // Report the error
-        if (collect)
+        if (!output && collect)
         {
             return Snull;
         }