diff --git a/include/ajax.upgrader.php b/include/ajax.upgrader.php
index 1582b7a8c490af2c26f70e4b48f857e758239686..41100b9d38ebb37716fc7cdb08a22b8a9285321d 100644
--- a/include/ajax.upgrader.php
+++ b/include/ajax.upgrader.php
@@ -34,10 +34,15 @@ class UpgraderAjaxAPI extends AjaxController {
             exit;
         }
 
+        if($upgrader->isAborted()) {
+            Http::response(416, "We have a problem ... wait a sec.");
+            exit;
+        }
+
         if($upgrader->getNumPendingTasks()) {
             if($upgrader->doTasks() && !$upgrader->getNumPendingTasks() && $ost->isUpgradePending()) {
-                //Just reporting done...with tasks - break in between patches!
-                header("HTTP/1.1 304 Not Modified");
+                //Just reporting done...with tasks - break in between patches with scripted tasks!
+                Http::response(201, "TASKS DONE!");
                 exit;
             }
         } elseif($ost->isUpgradePending() && $upgrader->isUpgradable()) {
@@ -50,7 +55,7 @@ class UpgraderAjaxAPI extends AjaxController {
         } elseif(!$ost->isUpgradePending()) {
             $upgrader->setState('done');
             session_write_close();
-            header("HTTP/1.1 304 Not Modified");
+            Http::response(201, "DONE!");
             exit;
         }
 
diff --git a/scp/js/upgrader.js b/scp/js/upgrader.js
index 8c39b73fe767c14e566b53b6fe6a75bda7407458..09bde7766c6f39e9f95e0b50ccf3c0efc3bbb2fb 100644
--- a/scp/js/upgrader.js
+++ b/scp/js/upgrader.js
@@ -42,14 +42,14 @@ jQuery(function($) {
                         setTimeout(function() { _lp(count+1); }, 2);
                     },
 
-                    304: function() {
+                    201: function() {
                         $('#loading #msg').html("We're done... cleaning up!");
-                        setTimeout(function() { location.href =url;}, 3000);
+                        setTimeout(function() { location.href =url+'?c='+count+'&r='+Math.floor((Math.random()*100)+1); }, 3000);
                     }
                 },
                 error: function() {
                     $('#loading #msg').html("Something went wrong");
-                    setTimeout(function() { location.href =url;}, 1000);
+                    setTimeout(function() { location.href =url+'?c='+count+'&r='+Math.floor((Math.random()*100)+1); }, 1000);
                 }
             });
         };