diff --git a/include/ajax.tasks.php b/include/ajax.tasks.php
index 15a623c4d7d45e324540e9d0426f37b35205ed85..19016e20c7fbe3d7691f576a7af7ba3df7a00beb 100644
--- a/include/ajax.tasks.php
+++ b/include/ajax.tasks.php
@@ -126,7 +126,7 @@ class TasksAjaxAPI extends AjaxController {
                         Format::datetime($_SESSION[':form-data']['timestamp']));
 
                     $note = array(
-                            'title' => __('Task Created From Thread'),
+                            'title' => __('Task Created From Thread Entry'),
                             'note' => __('Task ' . $taskLink .
                             '<br /> Thread Entry ID: ' . $entryLink)
                             );
@@ -139,7 +139,7 @@ class TasksAjaxAPI extends AjaxController {
                         $originalTask->getNumber());
 
                     $note = array(
-                            'title' => __('Task Created From Thread'),
+                            'title' => __('Task Created From Thread Entry'),
                             'note' => __('This Task was created from Task ' . $taskLink));
 
                     $task->postNote($note, $errors, $thisstaff);
diff --git a/include/ajax.tickets.php b/include/ajax.tickets.php
index 5377996c628c55c498a78e8d50650dd10815a713..0a7cf21bcbd1ea0bc01bec441bbcc385cbf62090 100644
--- a/include/ajax.tickets.php
+++ b/include/ajax.tickets.php
@@ -1362,7 +1362,7 @@ function refer($tid, $target=null) {
                         Format::datetime($_SESSION[':form-data']['timestamp']));
 
                     $note = array(
-                            'title' => __('Task Created From Thread'),
+                            'title' => __('Task Created From Thread Entry'),
                             'body' => __('Task ' . $taskLink .
                             '<br /> Thread Entry ID: ' . $entryLink)
                             );
@@ -1375,7 +1375,7 @@ function refer($tid, $target=null) {
                         $ticket->getNumber());
 
                     $note = array(
-                            'title' => __('Task Created From Thread'),
+                            'title' => __('Task Created From Thread Entry'),
                             'note' => __('This Task was created from Ticket ' . $ticketLink));
 
                     $task->postNote($note, $errors, $thisstaff);
diff --git a/include/class.ticket.php b/include/class.ticket.php
index f28f4e8e1d670bfec09aeeca9dcea6a2f7a5f9c2..664ba874a47ce95d5b343624cbc04fec43174d8e 100644
--- a/include/class.ticket.php
+++ b/include/class.ticket.php
@@ -3887,20 +3887,19 @@ implements RestrictedAccess, Threadable, Searchable {
         }
 
         //check to see if ticket was created from a thread
-        if ($_SESSION[':form-data']['ticket'] || $_SESSION[':form-data']['task']) {
-          $oldTicket = $_SESSION[':form-data']['ticket'];
-          $oldTask = $_SESSION[':form-data']['task'];
+        if ($_SESSION[':form-data']['ticketId'] || $_SESSION[':form-data']['taskId']) {
+          $oldTicket = Ticket::lookup($_SESSION[':form-data']['ticketId']);
+          $oldTask = Task::lookup($_SESSION[':form-data']['taskId']);
 
           //add internal note to new ticket.
           //New ticket should have link to old task/ticket:
-          $link = sprintf('<a href="%s.php?id=%d#entry-%d"><b>#%s</b></a>',
+          $link = sprintf('<a href="%s.php?id=%d"><b>#%s</b></a>',
               $oldTicket ? 'tickets' : 'tasks',
               $oldTicket ? $oldTicket->getId() : $oldTask->getId(),
-              $_SESSION[':form-data']['eid'],
               $oldTicket ? $oldTicket->getNumber() : $oldTask->getNumber());
 
           $note = array(
-                  'title' => __('Ticket Created From Thread'),
+                  'title' => __('Ticket Created From Thread Entry'),
                   'body' => sprintf(__('This Ticket was created from %s '. $link),
                             $oldTicket ? 'Ticket' : 'Task')
                   );
@@ -3919,12 +3918,12 @@ implements RestrictedAccess, Threadable, Searchable {
               Format::datetime($_SESSION[':form-data']['timestamp']));
 
           $ticketNote = array(
-              'title' => __('Ticket Created From Thread'),
+              'title' => __('Ticket Created From Thread Entry'),
               'body' => __('Ticket ' . $ticketLink).
               '<br /> Thread Entry ID: ' . $entryLink);
 
           $taskNote = array(
-              'title' => __('Ticket Created From Thread'),
+              'title' => __('Ticket Created From Thread Entry'),
               'note' => __('Ticket ' . $ticketLink).
               '<br /> Thread Entry ID: ' . $entryLink);
 
@@ -4142,7 +4141,8 @@ implements RestrictedAccess, Threadable, Searchable {
            $attachments = array();
            $message = $ticket->getLastMessage();
            if ($cfg->emailAttachments()) {
-               $attachments = $message->getAttachments();
+               if ($message)
+                 $attachments = $message->getAttachments();
                if ($response && $response->getNumAttachments())
                  $attachments = $attachments->merge($response->getAttachments());
            }
diff --git a/include/staff/ticket-open.inc.php b/include/staff/ticket-open.inc.php
index 277714d5b701b9bfb22ecc8a83c5a2c5fceceaea..17b9891b90dba383df6180102ac49e0da28b7778 100644
--- a/include/staff/ticket-open.inc.php
+++ b/include/staff/ticket-open.inc.php
@@ -10,13 +10,13 @@ $info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
 //  Use thread entry to seed the ticket
 if (!$user && $_GET['tid'] && ($entry = ThreadEntry::lookup($_GET['tid']))) {
     if ($entry->getThread()->getObjectType() == 'T')
-      $oldTicket = Ticket::lookup($entry->getThread()->getObjectId());
+      $oldTicketId = $entry->getThread()->getObjectId();
     if ($entry->getThread()->getObjectType() == 'A')
-      $oldTask = Task::lookup($entry->getThread()->getObjectId());
+      $oldTaskId = $entry->getThread()->getObjectId();
 
     $_SESSION[':form-data']['message'] = Format::htmlchars($entry->getBody());
-    $_SESSION[':form-data']['ticket'] = $oldTicket;
-    $_SESSION[':form-data']['task'] = $oldTask;
+    $_SESSION[':form-data']['ticketId'] = $oldTicketId;
+    $_SESSION[':form-data']['taskId'] = $oldTaskId;
     $_SESSION[':form-data']['eid'] = $entry->getId();
     $_SESSION[':form-data']['timestamp'] = $entry->getCreateDate();
 
@@ -349,7 +349,7 @@ if ($_POST)
         <tbody id="dynamic-form">
         <?php
             foreach ($forms as $form) {
-                print $form->getForm()->getMedia();
+                print $form->getForm($_SESSION[':form-data'])->getMedia();
                 include(STAFFINC_DIR .  'templates/dynamic-form.tmpl.php');
             }
         ?>
diff --git a/scp/js/thread.js b/scp/js/thread.js
index 0b4ebe50213763d035bd4df033856d6c51fe2241..bb67ca4ce868d7ea865c4aa5972f184836aa3c2c 100644
--- a/scp/js/thread.js
+++ b/scp/js/thread.js
@@ -159,7 +159,10 @@ var thread = {
         }
 
         // Open thread body links in a new tab/window
+        // unless referring to thread entry on current page
         $('div.thread-body a', $container).each(function() {
+          var str = this.toString();
+          if (!str.includes('#entry-'))
             $(this).attr('target', '_blank');
         });