diff --git a/mollom.module b/mollom.module
index ebb1e13..165aa3d 100644
--- a/mollom.module
+++ b/mollom.module
@@ -2109,8 +2109,18 @@ function _mollom_watchdog($parts, $severity = WATCHDOG_NOTICE) {
  * This is also required for tests to pass.
  */
 function _mollom_watchdog_multiple($messages, $severity) {
-  foreach ($messages as $message) {
-    _mollom_watchdog($message, $severity);
+  // If the cumulative result is non-severe and we are operating in production
+  // (disabled testing mode), only log the last message, since we recovered from
+  // the low-level errors and there is nothing to worry about.
+  if (!variable_get('mollom_testing_mode', 0) && $severity >= WATCHDOG_INFO) {
+    _mollom_watchdog(end($messages), $severity);
+  }
+  // Otherwise, log all messages, so users are able to report the full error
+  // stack in support tickets.
+  else {
+    foreach ($messages as $message) {
+      _mollom_watchdog($message, $severity);
+    }
   }
 }
 
