diff --git a/ivette/src/dome/src/main/dome.js b/ivette/src/dome/src/main/dome.js
index c1f1452eb93ee84409a60bc9e49bb4f25a1f868a..1385eb6bc5e50f273d46a85201ae79d68e74e093 100644
--- a/ivette/src/dome/src/main/dome.js
+++ b/ivette/src/dome/src/main/dome.js
@@ -196,6 +196,7 @@ function navigateURL( event , url ) {
 // --------------------------------------------------------------------------
 
 const windowsHandle = {} ; // Prevent live windows to be garbage collected
+const windowsReload = {} ; // Reloaded windows
 
 function createBrowserWindow( config, isMain=true )
 {
@@ -226,7 +227,8 @@ function createBrowserWindow( config, isMain=true )
   }
 
   const theWindow = new BrowserWindow( options );
-
+  const wid = theWindow.id;
+  
   // Load the index.html of the app.
   if (DEVEL || LOCAL)
     process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true';
@@ -249,7 +251,14 @@ function createBrowserWindow( config, isMain=true )
   // URL Navigation
   theWindow.webContents.on('will-navigate', navigateURL );
   theWindow.webContents.on('did-navigate-in-page', navigateURL );
-  theWindow.webContents.on('did-finish-load', () => broadcast('dome.ipc.reload'));
+  theWindow.webContents.on('did-finish-load', () => {
+    const isLoaded = windowsReload[wid];
+    if (!isLoaded) {
+      windowsReload[wid] = true;
+    } else {
+      broadcast('dome.ipc.reload');
+    }
+  });
 
   // Emitted when the window want's to close.
   theWindow.on('close', (evt) => {
@@ -270,7 +279,6 @@ function createBrowserWindow( config, isMain=true )
   }
 
   // Keep the window reference to prevent destruction
-  const wid = theWindow.id ;
   windowsHandle[ wid ] = theWindow ;
 
   // Emitted when the window is closed.
diff --git a/ivette/src/dome/src/renderer/dome.js b/ivette/src/dome/src/renderer/dome.js
index 1676de2c1944a221723cd56348fcfb88c8f5dab8..6fb25c3702fd9c8e80c8ae9939650783ee9abc8a 100644
--- a/ivette/src/dome/src/renderer/dome.js
+++ b/ivette/src/dome/src/renderer/dome.js
@@ -480,7 +480,7 @@ ipcRenderer.on('dome.ipc.settings.update',(sender,patches) => {
 
 /**
     @summary Get value from local window (persistent) settings.
-    @param {string} key User's Setting Key (`'dome.*'` are reserved keys)
+    @param {string} [key] -  User's Setting Key (`'dome.*'` are reserved keys)
     @param {any} [defaultValue] - default value if the key is not present
     @return {any} associated value of object or `undefined`.
     @description
diff --git a/ivette/src/renderer/Controller.tsx b/ivette/src/renderer/Controller.tsx
index 733513202d928e72411a163ea7e817d5f88db915..45e5f4d7ab341cb2b65fed3cf29866cd395a0024 100644
--- a/ivette/src/renderer/Controller.tsx
+++ b/ivette/src/renderer/Controller.tsx
@@ -76,6 +76,10 @@ function buildServerConfig(argv: string[], cwd?: string) {
   };
 }
 
+function buildServerCommand(cmd: string) {
+  return buildServerConfig(cmd.trim().split(/[ \t\n]+/));
+}
+
 function insertConfig(hs: string[], cfg: Server.Configuration) {
   const cmd = dumpServerConfig(cfg).trim();
   const newhs =
@@ -90,8 +94,20 @@ function insertConfig(hs: string[], cfg: Server.Configuration) {
 // --- Start Server on Command
 // --------------------------------------------------------------------------
 
+let reloadCommand: string | undefined;
+
+Dome.onReload(() => {
+  const hst = Dome.getWindowSetting('Controller.history');
+  reloadCommand = Array.isArray(hst) && hst[0];
+});
+
 Dome.onCommand((argv: string[], cwd: string) => {
-  const cfg = buildServerConfig(argv, cwd);
+  let cfg;
+  if (reloadCommand) {
+    cfg = buildServerCommand(reloadCommand);
+  } else {
+    cfg = buildServerConfig(argv, cwd);
+  }
   Server.setConfig(cfg);
   Server.start();
 });
@@ -189,9 +205,7 @@ const RenderConsole = () => {
   };
 
   const doExec = () => {
-    const cmd = editor.getValue().trim();
-    const argv = cmd.split(/[ \t\n]+/);
-    const cfg = buildServerConfig(argv);
+    const cfg = buildServerCommand(editor.getValue());
     const hst = insertConfig(history, cfg);
     setHistory(hst);
     setCursor(-1);