diff --git a/include/client/header.inc.php b/include/client/header.inc.php
index 4ec070f17824bc9d084f2289b1dc05753e8652a5..245edf61ad02cf5459b38dccbf814917681185d2 100644
--- a/include/client/header.inc.php
+++ b/include/client/header.inc.php
@@ -49,6 +49,7 @@ if ($lang) {
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/redactor-plugins.js"></script>
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/redactor-osticket.js"></script>
     <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/select2.min.js"></script>
+    <script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/fabric.min.js"></script>
     <?php
     if($ost && ($headers=$ost->getExtraHeaders())) {
         echo "\n\t".implode("\n\t", $headers)."\n";
diff --git a/include/staff/footer.inc.php b/include/staff/footer.inc.php
index e8cf2dbb411f85db66d720ba6157a87ac2776e02..a646f5eeae2ef7350ff15e7e7445a01c1dcba433 100644
--- a/include/staff/footer.inc.php
+++ b/include/staff/footer.inc.php
@@ -53,6 +53,7 @@ if(is_object($thisstaff) && $thisstaff->isStaff()) { ?>
 <script type="text/javascript" src="./js/jquery.translatable.js"></script>
 <script type="text/javascript" src="./js/jquery.dropdown.js"></script>
 <script type="text/javascript" src="./js/bootstrap-tooltip.js"></script>
+<script type="text/javascript" src="<?php echo ROOT_PATH; ?>js/fabric.min.js"></script>
 <link type="text/css" rel="stylesheet" href="./css/tooltip.css">
 <script type="text/javascript">
     getConfig().resolve(<?php
diff --git a/js/redactor-plugins.js b/js/redactor-plugins.js
index cfa931f96d41742779931caf19367ca896d7e776..ba446ca0019da9d6d1e526b23015ea5bfd3ab33e 100644
--- a/js/redactor-plugins.js
+++ b/js/redactor-plugins.js
@@ -908,14 +908,6 @@ RedactorPlugins.imageannotate = function() {
     init: function() {
       var redactor = this,
           self = this.imageannotate;
-      if (typeof window.fabric === 'undefined' && !loadedFabric) {
-          $.ajax({
-            dataType: 'script',
-            cache: true,
-            url: '../js/fabric.min.js'
-          });
-          loadedFabric = true;
-      }
       $(document).on('click', '.redactor-box img', function() {
         var $image = $(this),
             image_box = $('#redactor-image-box');
diff --git a/scp/js/thread.js b/scp/js/thread.js
index c590323161e6a3be7ac8d31ffa732802344fceda..b4bd2a4350ad751760794a0a4f17cc117d4aab74 100644
--- a/scp/js/thread.js
+++ b/scp/js/thread.js
@@ -22,10 +22,10 @@ var thread = {
        if (!entry) return;
 
        var frame = 0;
-       $('html, body').delay(500).animate({
+       $('html, body').animate({
             scrollTop: entry.offset().top - 50,
        }, {
-            duration: 750,
+            duration: 400,
             step: function(now, fx) {
                 // Recalc end target every few frames
                 if (++frame % 6 == 0)