diff --git a/include/class.template.php b/include/class.template.php
index 53f1caf431a542d115bcfe49a5baa5d08bdf3eb7..4e73ecb32967f248d6781b6d6696036bd4ff1088 100644
--- a/include/class.template.php
+++ b/include/class.template.php
@@ -60,6 +60,14 @@ class EmailTemplateGroup {
                 'ticket', 'signature', 'recipient', 'staff', 'message',
             ),
         ),
+        'ticket.notice.bcc'=>array(
+            'group'=>'a.ticket.user',
+            'name'=>/* @trans */ 'New Ticket Notice (BCC)',
+            'desc'=>/* @trans */ 'Notice sent to BCCd users, if enabled, on new ticket created by an agent on behalf of a user (e.g phone calls).',
+            'context' => array(
+                'ticket', 'signature', 'recipient', 'staff', 'message',
+            ),
+        ),
         'ticket.overlimit'=>array(
             'group'=>'a.ticket.user',
             'name'=>/* @trans */ 'Overlimit Notice',
@@ -76,6 +84,14 @@ class EmailTemplateGroup {
                 'ticket', 'signature', 'response', 'staff', 'poster', 'recipient',
             ),
         ),
+        'ticket.reply.bcc'=>array(
+            'group'=>'a.ticket.user',
+            'name'=>/* @trans */ 'Response/Reply Template (BCC)',
+            'desc'=>/* @trans */ 'Template used on ticket response/reply',
+            'context' => array(
+                'ticket', 'signature', 'response', 'staff', 'poster', 'recipient',
+            ),
+        ),
         'ticket.activity.notice'=>array(
             'group'=>'a.ticket.user',
             'name'=>/* @trans */ 'New Activity Notice',
@@ -84,6 +100,14 @@ class EmailTemplateGroup {
                 'ticket', 'signature', 'message', 'poster', 'recipient',
             ),
         ),
+        'ticket.activity.notice.bcc'=>array(
+            'group'=>'a.ticket.user',
+            'name'=>/* @trans */ 'New Activity Notice (BCC)',
+            'desc'=>/* @trans */ 'Template used to notify BCCd collaborators on ticket activity',
+            'context' => array(
+                'ticket', 'signature', 'message', 'poster', 'recipient',
+            ),
+        ),
         'ticket.alert'=>array(
             'group'=>'b.ticket.staff',
             'name'=>/* @trans */ 'New Ticket Alert',
@@ -309,6 +333,10 @@ class EmailTemplateGroup {
         return $this->getMsgTemplate('ticket.notice');
     }
 
+    function getNewTicketNoticeBCCMsgTemplate() {
+        return $this->getMsgTemplate('ticket.notice.bcc');
+    }
+
     function getNewMessageAutorepMsgTemplate() {
         return $this->getMsgTemplate('message.autoresp');
     }
@@ -325,10 +353,18 @@ class EmailTemplateGroup {
         return $this->getMsgTemplate('ticket.reply');
     }
 
+    function getReplyBCCMsgTemplate() {
+        return $this->getMsgTemplate('ticket.reply.bcc');
+    }
+
     function  getActivityNoticeMsgTemplate() {
         return $this->getMsgTemplate('ticket.activity.notice');
     }
 
+    function  getActivityNoticeBCCMsgTemplate() {
+        return $this->getMsgTemplate('ticket.activity.notice.bcc');
+    }
+
     function getOverlimitMsgTemplate() {
         return $this->getMsgTemplate('ticket.overlimit');
     }
diff --git a/include/class.ticket.php b/include/class.ticket.php
index 664ba874a47ce95d5b343624cbc04fec43174d8e..3c2856d3baab56c8d883741592fc0d0fc487aa82 100644
--- a/include/class.ticket.php
+++ b/include/class.ticket.php
@@ -1564,6 +1564,7 @@ implements RestrictedAccess, Threadable, Searchable {
             || !($dept=$this->getDept())
             || !($tpl=$dept->getTemplate())
             || !($msg=$tpl->getActivityNoticeMsgTemplate())
+            || !($bccmsg=$tpl->getActivityNoticeBCCMsgTemplate())
             || !($email=$dept->getEmail())
         ) {
             return;
@@ -1593,6 +1594,7 @@ implements RestrictedAccess, Threadable, Searchable {
         );
 
         $msg = $this->replaceVars($msg->asArray(), $vars);
+        $bccmsg = $this->replaceVars($bccmsg->asArray(), $vars);
 
         $attachments = $cfg->emailAttachments()?$entry->getAttachments():array();
         $options = array('thread' => $entry);
@@ -1627,7 +1629,7 @@ implements RestrictedAccess, Threadable, Searchable {
          //send bcc messages seperately for privacy
          if ($collabsBcc) {
            foreach ($collabsBcc as $recipient) {
-             $notice = $this->replaceVars($msg, array('recipient' => $recipient));
+             $notice = $this->replaceVars($bccmsg, array('recipient' => $recipient));
              if ($posterEmail != $recipient->getEmail()->address)
                $email->send($recipient, $notice['subj'], $notice['body'], $attachments,
                    $options);
@@ -2988,7 +2990,7 @@ implements RestrictedAccess, Threadable, Searchable {
             if ($vars['bccs']
                     && $vars['emailcollab']
                     && ($bcctpl = $dept->getTemplate())
-                    && ($bccmsg=$bcctpl->getReplyMsgTemplate())) {
+                    && ($bccmsg=$bcctpl->getReplyBCCMsgTemplate())) {
                 foreach ($vars['bccs'] as $uid) {
                     if (!($recipient = User::lookup($uid)))
                         continue;
@@ -4183,7 +4185,7 @@ implements RestrictedAccess, Threadable, Searchable {
               if ($collabsBcc) {
                 foreach ($collabsBcc as $recipient) {
                   if (($tpl=$dept->getTemplate())
-                      && ($bccmsg=$tpl->getNewTicketNoticeMsgTemplate())
+                      && ($bccmsg=$tpl->getNewTicketNoticeBCCMsgTemplate())
                       && ($email=$dept->getEmail())
                   )
                   $extraVars = UsersName::getNameFormats($recipient, 'recipient');