diff --git a/app/ecolyo.2b23b2f582d535efaaf2.js b/app/ecolyo.82260b964ff6fe731f10.js
similarity index 99%
rename from app/ecolyo.2b23b2f582d535efaaf2.js
rename to app/ecolyo.82260b964ff6fe731f10.js
index c26c0491785ab4a1cf6dc5105995832a97f8141e..ed3817ca3417ee0eede3ed223feb12e356859d28 100644
--- a/app/ecolyo.2b23b2f582d535efaaf2.js
+++ b/app/ecolyo.82260b964ff6fe731f10.js
@@ -33846,7 +33846,7 @@ var MigrationService = /*#__PURE__*/function () {
     key: "runMigrations",
     value: function () {
       var _runMigrations = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(migrations) {
-        var releaseStatus, releaseNotes, currentVersion, targetVersion, _iterator, _step, migration, migrationResult, result;
+        var releaseStatus, releaseNotes, currentVersion, targetVersion, startMigrationIndex, migrationsToRun, _iterator, _step, migration, migrationResult, result;
 
         return _regenerator.default.wrap(function _callee2$(_context2) {
           while (1) {
@@ -33869,46 +33869,49 @@ var MigrationService = /*#__PURE__*/function () {
                 currentVersion = _context2.sent;
                 targetVersion = migrations[migrations.length - 1].targetSchemaVersion;
                 console.log('CURRENT VERSION', currentVersion);
-                console.log('CURRENT targetVersion', targetVersion);
+                console.log('CURRENT targetVersion', targetVersion); // Prevent Migration service to run every migration if not needed
 
                 if (!(currentVersion != targetVersion)) {
-                  _context2.next = 46;
+                  _context2.next = 49;
                   break;
                 }
 
-                _iterator = _createForOfIteratorHelper(migrations);
-                _context2.prev = 11;
+                startMigrationIndex = migrations.length - (targetVersion - currentVersion);
+                migrationsToRun = migrations.splice(startMigrationIndex);
+                console.log('migrationsToRun', migrationsToRun);
+                _iterator = _createForOfIteratorHelper(migrationsToRun);
+                _context2.prev = 14;
 
                 _iterator.s();
 
-              case 13:
+              case 16:
                 if ((_step = _iterator.n()).done) {
-                  _context2.next = 33;
+                  _context2.next = 36;
                   break;
                 }
 
                 migration = _step.value;
-                _context2.next = 17;
+                _context2.next = 20;
                 return (0, _migration.migrate)(migration, this._client);
 
-              case 17:
+              case 20:
                 migrationResult = _context2.sent;
 
                 _logger.default.info((0, _migration.migrationLog)(migration, migrationResult));
 
                 if (!(migrationResult.type === _migration2.MIGRATION_RESULT_FAILED)) {
-                  _context2.next = 30;
+                  _context2.next = 33;
                   break;
                 }
 
-                _context2.next = 22;
+                _context2.next = 25;
                 return (0, _migration.migrate)(migration, this._client);
 
-              case 22:
+              case 25:
                 result = _context2.sent;
 
                 if (!(result.type === _migration2.MIGRATION_RESULT_FAILED)) {
-                  _context2.next = 29;
+                  _context2.next = 32;
                   break;
                 }
 
@@ -33919,54 +33922,54 @@ var MigrationService = /*#__PURE__*/function () {
 
                 throw new Error();
 
-              case 29:
+              case 32:
                 _logger.default.info((0, _migration.migrationLog)(migration, result));
 
-              case 30:
+              case 33:
                 if (migration.releaseNotes !== null && migrationResult.type === _migration2.MIGRATION_RESULT_COMPLETE) {
                   releaseNotes.notes.push(migration.releaseNotes);
                   releaseStatus = true;
                 }
 
-              case 31:
-                _context2.next = 13;
+              case 34:
+                _context2.next = 16;
                 break;
 
-              case 33:
-                _context2.next = 38;
+              case 36:
+                _context2.next = 41;
                 break;
 
-              case 35:
-                _context2.prev = 35;
-                _context2.t0 = _context2["catch"](11);
+              case 38:
+                _context2.prev = 38;
+                _context2.t0 = _context2["catch"](14);
 
                 _iterator.e(_context2.t0);
 
-              case 38:
-                _context2.prev = 38;
+              case 41:
+                _context2.prev = 41;
 
                 _iterator.f();
 
-                return _context2.finish(38);
+                return _context2.finish(41);
 
-              case 41:
+              case 44:
                 releaseNotes.show = releaseStatus;
 
                 _logger.default.info('[Migration] Done');
 
                 return _context2.abrupt("return", releaseNotes);
 
-              case 46:
+              case 49:
                 _logger.default.info('[Migration] Skipped Migration Process, already up-to-date');
 
                 return _context2.abrupt("return", releaseNotes);
 
-              case 48:
+              case 51:
               case "end":
                 return _context2.stop();
             }
           }
-        }, _callee2, this, [[11, 35, 38, 41]]);
+        }, _callee2, this, [[14, 38, 41, 44]]);
       }));
 
       function runMigrations(_x2) {
diff --git a/index.html b/index.html
index 795269e218b1cb3627b968275b3c88863e13f24c..d7db9bf670409c242315829d67c2aeda55bafef2 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,user-scalable=0,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}<script src="//{{.Domain}}/assets/js/piwik.js"></script></head><body><div role="application" class="application" data-cozy="{{.CozyData}}"><script src="vendors/ecolyo.c1180bc5cd66dfd3234e.js"></script><script src="app/ecolyo.2b23b2f582d535efaaf2.js"></script></div></body></html>
\ No newline at end of file
+<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,user-scalable=0,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}<script src="//{{.Domain}}/assets/js/piwik.js"></script></head><body><div role="application" class="application" data-cozy="{{.CozyData}}"><script src="vendors/ecolyo.c1180bc5cd66dfd3234e.js"></script><script src="app/ecolyo.82260b964ff6fe731f10.js"></script></div></body></html>
\ No newline at end of file