diff --git a/agkyra/agkyra/gui/menu.html b/agkyra/agkyra/gui/menu.html
index 154ee29b3b79c59e724778dd9a53317f8804420f..bc3990795d75ba1c9687cac43920122bf2e59de1 100644
--- a/agkyra/agkyra/gui/menu.html
+++ b/agkyra/agkyra/gui/menu.html
@@ -133,6 +133,11 @@ menu.append(new gui.MenuItem({
 // Update progress
 var client_ready = false;
 window.setInterval(function() {
+  if (globals.open_settings) {
+    globals.open_settings = false;
+    settings_menu.click();
+  }
+
   var menu_modified = false;
   if (!client_ready) {
     if (!globals.authenticated) return;
diff --git a/agkyra/agkyra/gui/protocol.js b/agkyra/agkyra/gui/protocol.js
index 423f5fc8a8f497e4593234066f40a6864ec88188..07c0a8a964fb4a0f14e1619ca7ab73e077db3de8 100644
--- a/agkyra/agkyra/gui/protocol.js
+++ b/agkyra/agkyra/gui/protocol.js
@@ -21,6 +21,7 @@ var globals = {
   },
   'status': {"synced": 0, "unsynced": 0, "paused": null, "can_sync": false},
   'authenticated': false,
+  'just_opened': false, 'open_settings': false
 }
 
 // Protocol: requests ::: responses
@@ -73,6 +74,7 @@ socket.onmessage = function(e) {
         get_settings(this);
         get_status(this);
         globals.authenticated = true;
+        globals.just_opened = true;
       } else {
         if (DEBUG) console.log('Helper: ' + JSON.stringify(r));
         closeWindows();
@@ -100,6 +102,10 @@ socket.onmessage = function(e) {
     break;
     case 'get status':
       globals['status'] = r;
+      if (globals.just_opened) {
+        globals.just_opened = false;
+        globals.open_settings = !r.can_sync;
+      }
     break;
     default:
       console.log('Incomprehensible response ' + r);