diff --git a/include/class.mailparse.php b/include/class.mailparse.php
index 17da5f5901118c65453abafe80782c578a0db7a7..7a74d053f8ec2c32d53c53e340b3f74287ad3a77 100644
--- a/include/class.mailparse.php
+++ b/include/class.mailparse.php
@@ -397,12 +397,17 @@ class Mail_Parse {
 
     function parseAddressList($address){
         if (!$address)
-            return false;
+            return array();
+
         // Delivered-To may appear more than once in the email headers
         if (is_array($address))
             $address = implode(', ', $address);
 
-        return Mail_RFC822::parseAddressList($address, null, null,false);
+        $parsed = Mail_RFC822::parseAddressList($address, null, null,false);
+
+        if(PEAR::isError($parsed))
+            return array();
+        return $parsed;
     }
 
     function parse($rawemail) {
@@ -437,7 +442,7 @@ class EmailDataParser {
 
         $data =array();
         //FROM address: who sent the email.
-        if(($fromlist = $parser->getFromAddressList()) && !PEAR::isError($fromlist)) {
+        if(($fromlist = $parser->getFromAddressList())) {
             $from=$fromlist[0]; //Default.
             foreach($fromlist as $fromobj) {
                 if(!Validator::is_email($fromobj->mailbox.'@'.$fromobj->host)) continue;
@@ -493,7 +498,7 @@ class EmailDataParser {
         $data['priorityId'] = $parser->getPriority();
         $data['emailId'] = $emailId;
 
-        if (($replyto = $parser->getReplyTo()) && !PEAR::isError($replyto)) {
+        if (($replyto = $parser->getReplyTo())) {
             $replyto = $replyto[0];
             $data['reply-to'] = $replyto->mailbox.'@'.$replyto->host;
             if ($replyto->personal)