diff --git a/Tools/PyJobTransforms/python/trfValidation.py b/Tools/PyJobTransforms/python/trfValidation.py
index 6297f786a0f6976194277a849ea0ed684fd9f0f4..17919b4e5556f2f4375931fb1287bb5a6419ee8b 100644
--- a/Tools/PyJobTransforms/python/trfValidation.py
+++ b/Tools/PyJobTransforms/python/trfValidation.py
@@ -489,8 +489,11 @@ class athenaLogFileReport(logFileReport):
         # G4 exceptions can be fatal or they can be warnings...
         msg.debug('Identified G4 exception - adding to error detail report')
         if "just a warning" in g4Report:
-            self._levelCounter['WARNING'] += 1
-            self._errorDetails['WARNING'].append({'message': g4Report, 'firstLine': firstLineCount, 'count': 1})
+            if self._levelCounter['WARNING'] <= self._msgLimit:
+                self._levelCounter['WARNING'] += 1
+                self._errorDetails['WARNING'].append({'message': g4Report, 'firstLine': firstLineCount, 'count': 1})
+            elif self._levelCounter['WARNING'] == self._msgLimit + 1:
+                msg.warning("Found message number {0} at level WARNING - this and further messages will be supressed from the report".format(self._levelCounter['WARNING']))
         else:
             self._levelCounter['FATAL'] += 1
             self._errorDetails['FATAL'].append({'message': g4Report, 'firstLine': firstLineCount, 'count': 1})
@@ -511,8 +514,11 @@ class athenaLogFileReport(logFileReport):
         # G4 exceptions can be fatal or they can be warnings...
         msg.debug('Identified G4 exception - adding to error detail report')
         if "-------- WWWW -------" in g4Report:
-            self._levelCounter['WARNING'] += 1
-            self._errorDetails['WARNING'].append({'message': g4Report, 'firstLine': firstLineCount, 'count': 1})
+            if self._levelCounter['WARNING'] <= self._msgLimit:
+                self._levelCounter['WARNING'] += 1
+                self._errorDetails['WARNING'].append({'message': g4Report, 'firstLine': firstLineCount, 'count': 1})
+            elif self._levelCounter['WARNING'] == self._msgLimit + 1:
+                msg.warning("Found message number {0} at level WARNING - this and further messages will be supressed from the report".format(self._levelCounter['WARNING'])) 
         else:
             self._levelCounter['FATAL'] += 1
             self._errorDetails['FATAL'].append({'message': g4Report, 'firstLine': firstLineCount, 'count': 1})