diff --git a/include/class.team.php b/include/class.team.php
index 8d1c22bb06f90b5c9e999593c850891f3f378b61..7b5c5c3620dad12a10d57b6eeb4cd0d6d0371f88 100644
--- a/include/class.team.php
+++ b/include/class.team.php
@@ -122,6 +122,10 @@ class Team {
         return $this->isEnabled();
     }
 
+    function alertsEnabled() {
+        return !$this->ht['noalerts'];
+    }
+
     function update($vars, &$errors) {
 
         //reset team lead if they're being deleted
diff --git a/include/class.ticket.php b/include/class.ticket.php
index 7de7e248001aee6f238da9903ebeb5e5e3f93f6a..f076d106820a89c75427380bd8456bd1a38fd96b 100644
--- a/include/class.ticket.php
+++ b/include/class.ticket.php
@@ -1135,18 +1135,19 @@ class Ticket {
 
         //recipients
         $recipients=array();
-        if(!strcasecmp(get_class($assignee), 'Staff')) {
-            if($cfg->alertStaffONAssignment())
+        if ($assignee instanceof Staff) {
+            if ($cfg->alertStaffONAssignment())
                 $recipients[] = $assignee;
-        } elseif(!strcasecmp(get_class($assignee), 'Team')) {
-            if($cfg->alertTeamMembersONAssignment() && ($members=$assignee->getMembers()))
+        } elseif (($assignee instanceof Team) && $assignee->alertsEnabled()) {
+            if ($cfg->alertTeamMembersONAssignment() && ($members=$assignee->getMembers()))
                 $recipients = array_merge($recipients, $members);
-            elseif($cfg->alertTeamLeadONAssignment() && ($lead=$assignee->getTeamLead()))
+            elseif ($cfg->alertTeamLeadONAssignment() && ($lead=$assignee->getTeamLead()))
                 $recipients[] = $lead;
         }
 
         //Get the message template
-        if($recipients && ($msg=$tpl->getAssignedAlertMsgTemplate())) {
+        if ($recipients
+                && ($msg=$tpl->getAssignedAlertMsgTemplate())) {
 
             $msg = $this->replaceVars($msg->asArray(),
                         array('comments' => $comments,