diff --git a/ATxCommon/Serializables/ServiceConfig.cs b/ATxCommon/Serializables/ServiceConfig.cs
index 5c3a4802710e027068d875b715ac5919bc0a0576..ef2899f8b7944d7913d29d45efb8243d5b3ca3b2 100644
--- a/ATxCommon/Serializables/ServiceConfig.cs
+++ b/ATxCommon/Serializables/ServiceConfig.cs
@@ -288,6 +288,9 @@ namespace ATxCommon.Serializables
             }
         }
 
+        [XmlIgnore]
+        public static string ValidatorWarnings { get; set; }
+
 
         #endregion
 
@@ -391,8 +394,10 @@ namespace ATxCommon.Serializables
                     SubOptimal(value.ToString(), name, "value is set very high, please check!");
             }
 
-            void SubOptimal(string value, string name, string msg) {
-                Log.Warn(">>> Sub-optimal setting detected: <{0}> [{1}] {2}", name, value, msg);
+            void SubOptimal(string value, string name, string message) {
+                var msg = $">>> Sub-optimal setting detected: <{name}> [{value}] {message}";
+                ValidatorWarnings += msg + "\n";
+                Log.Warn(msg);
             }
 
             void LogAndThrow(string msg) {
diff --git a/ATxService/AutoTx.cs b/ATxService/AutoTx.cs
index 0397a858fb45ae934e9c49d766cd7121ac3859cf..c1752fd51f4c005603fec195e9481e906207d983 100644
--- a/ATxService/AutoTx.cs
+++ b/ATxService/AutoTx.cs
@@ -415,6 +415,12 @@ namespace ATxService
             }
 
             Log.Debug(msg);
+            
+            // finally check if the validation gave warnings and send them to the admin:
+            var warnings = ServiceConfig.ValidatorWarnings;
+            if (string.IsNullOrWhiteSpace(warnings))
+                return;
+            SendAdminEmail(warnings);
         }
 
         #endregion