diff --git privatemsg.module privatemsg.module
index 71a5dce..1b33419 100644
--- privatemsg.module
+++ privatemsg.module
@@ -1725,7 +1725,8 @@ function _privatemsg_validate_message(&$message, $form = FALSE) {
     }
   }
 
-  $messages += module_invoke_all('privatemsg_message_validate', $message, $form);
+  $messages = array_merge_recursive(module_invoke_all('privatemsg_message_validate', $message, $form), $messages);
+
   // Check if there are errors in $messages or if $form is TRUE, there are form errors.
   $success = empty($messages['error']) || ($form && count((array)form_get_errors()) > 0);
   return array(
