diff --git a/include/staff/templates/task-view.tmpl.php b/include/staff/templates/task-view.tmpl.php
index f1efebc3a655efd5b49a168061134dfb3dab01c4..69eb3095cefac0c3b88957c389a20edf44cacbe4 100644
--- a/include/staff/templates/task-view.tmpl.php
+++ b/include/staff/templates/task-view.tmpl.php
@@ -322,7 +322,7 @@ if ($ticket)
 else
     $action = 'tasks.php?id='.$task->getId();
 ?>
-<div id="task_response_options" class="<?php echo $ticket ? 'ticket_task_actions' : ''; ?> sticky bar stop">
+<div id="task_response_options" class="<?php echo $ticket ? 'ticket_task_actions' : ''; ?> sticky bar stop actions">
     <ul class="tabs">
         <?php
         if ($role->hasPerm(TaskModel::PERM_REPLY)) { ?>
diff --git a/include/staff/ticket-view.inc.php b/include/staff/ticket-view.inc.php
index 609e21475dfd32ad265d5a6a3232a571450c00ed..1728c48035058a9df65dbbb72723e5a39f7a7852 100644
--- a/include/staff/ticket-view.inc.php
+++ b/include/staff/ticket-view.inc.php
@@ -448,7 +448,7 @@ $tcount = $ticket->getThreadEntries($types)->count();
     <div id="msg_warning"><?php echo $warn; ?></div>
 <?php } ?>
 
-<div class="sticky bar stop" id="response_options">
+<div class="sticky bar stop actions" id="response_options">
     <ul class="tabs">
         <?php
         if ($role->hasPerm(TicketModel::PERM_REPLY)) { ?>
diff --git a/scp/js/thread.js b/scp/js/thread.js
index 62568ce27ada399fbf3fadfed5128ae267176495..4b1ce02dc595816c2dd5c682ea710955b44131ff 100644
--- a/scp/js/thread.js
+++ b/scp/js/thread.js
@@ -172,6 +172,10 @@ var thread = {
         $('div.thread-body a', $container).each(function() {
             $(this).attr('target', '_blank');
         });
+
+        // Open first response option tab if not already active
+        if (!document.location.hash)
+            $('.actions .tabs li:visible:first:not(.active) a', $container).trigger('click');
     }
 };