diff --git a/include/class.ticket.php b/include/class.ticket.php
index c3f49246957ab049d5cc504b7f9e5abb94fb3bd8..271a7b427c172db2eb70784ba105e6c69f0246fe 100644
--- a/include/class.ticket.php
+++ b/include/class.ticket.php
@@ -1596,7 +1596,9 @@ class Ticket {
         if(!$alerts) return $message; //Our work is done...
 
         // Do not auto-respond to bounces and other auto-replies
-        $autorespond = isset($vars['flags']) ? !$vars['flags']['bounce'] : true;
+        $autorespond = isset($vars['flags'])
+            ? !$vars['flags']['bounce'] && !$vars['flags']['auto-reply']
+            : true;
         if ($autorespond && $message->isAutoReply())
             $autorespond = false;
 
@@ -1843,9 +1845,12 @@ class Ticket {
         if(!($note=$this->getThread()->addNote($vars, $errors)))
             return null;
 
-        if (isset($vars['flags']) && $vars['flags']['bounce'])
-            // No alerts for bounce emails
-            $alert = false;
+        $alert = $alert && (
+            isset($vars['flags'])
+            // No alerts for bounce and auto-reply emails
+            ? !$vars['flags']['bounce'] && !$vars['flags']['auto-reply']
+            : true
+        );
 
         // Get assigned staff just in case the ticket is closed.
         $assignee = $this->getStaff();