diff --git a/app/assets/javascripts/lib/utils/common_utils.js.es6 b/app/assets/javascripts/lib/utils/common_utils.js.es6
index dbf40ec7fcf14f7f9eb16282fce346ae5ac0505c..0242350f718af8439aa2544b44d1fa982ad42cbb 100644
--- a/app/assets/javascripts/lib/utils/common_utils.js.es6
+++ b/app/assets/javascripts/lib/utils/common_utils.js.es6
@@ -329,17 +329,18 @@
      * ```
      */
     w.gl.utils.backOff = (fn, timeout = 60000) => {
+      const maxInterval = 32000;
       let nextInterval = 2000;
 
-      const startTime = (+new Date());
+      const startTime = Date.now();
 
       return new Promise((resolve, reject) => {
         const stop = arg => ((arg instanceof Error) ? reject(arg) : resolve(arg));
 
         const next = () => {
-          if (new Date().getTime() - startTime < timeout) {
+          if (Date.now() - startTime < timeout) {
             setTimeout(fn.bind(null, next, stop), nextInterval);
-            nextInterval *= 2;
+            nextInterval = Math.min(nextInterval + nextInterval, maxInterval);
           } else {
             reject(new Error('BACKOFF_TIMEOUT'));
           }