diff --git a/Core/Management/ProfileManager.cs b/Core/Management/ProfileManager.cs
index 1d7b9b73..9ba56ebf 100644
--- a/Core/Management/ProfileManager.cs
+++ b/Core/Management/ProfileManager.cs
@@ -210,4 +210,10 @@ private sealed class PathInfo{
             public string Relative { get; set; }
         }
     }
+
+    static class ProfileManagerExtensions{
+        public static bool NeedsRestart(this ProfileManager.Items items){
+            return items.HasFlag(ProfileManager.Items.SystemConfig) || items.HasFlag(ProfileManager.Items.Session);
+        }
+    }
 }
diff --git a/Core/Other/FormSettings.cs b/Core/Other/FormSettings.cs
index 38fd460d..6e39fa6b 100644
--- a/Core/Other/FormSettings.cs
+++ b/Core/Other/FormSettings.cs
@@ -67,10 +67,13 @@ private void btnManageOptions_Click(object sender, EventArgs e){
                 FormClosing -= FormSettings_FormClosing;
 
                 if (dialog.ShowDialog() == DialogResult.OK){
-                    browser.ResumeNotification();
+                    if (!dialog.IsRestarting){
+                        browser.ResumeNotification();
                     
-                    BrowserProcessHandler.UpdatePrefs();
-                    ShouldReloadBrowser = dialog.ShouldReloadBrowser;
+                        BrowserProcessHandler.UpdatePrefs();
+                        ShouldReloadBrowser = dialog.ShouldReloadBrowser;
+                    }
+
                     Close();
                 }
                 else{
diff --git a/Core/Other/Settings/Dialogs/DialogSettingsManage.cs b/Core/Other/Settings/Dialogs/DialogSettingsManage.cs
index 57e09277..0e36e4a3 100644
--- a/Core/Other/Settings/Dialogs/DialogSettingsManage.cs
+++ b/Core/Other/Settings/Dialogs/DialogSettingsManage.cs
@@ -21,7 +21,8 @@ private ProfileManager.Items SelectedItems{
                 cbPluginData.Checked = value.HasFlag(ProfileManager.Items.PluginData);
             }
         }
-
+        
+        public bool IsRestarting { get; private set; }
         public bool ShouldReloadBrowser { get; private set; }
         
         private readonly PluginManager plugins;
@@ -131,10 +132,10 @@ private void btnContinue_Click(object sender, EventArgs e){
                         }
 
                         if (SelectedItems.HasFlag(ProfileManager.Items.Session)){
-                            Program.Restart(Arguments.ArgDeleteCookies);
+                            RestartProgram(Arguments.ArgDeleteCookies);
                         }
                         else if (SelectedItems.HasFlag(ProfileManager.Items.SystemConfig)){
-                            Program.Restart();
+                            RestartProgram();
                         }
                         else{
                             ShouldReloadBrowser = true;
@@ -152,10 +153,10 @@ private void btnContinue_Click(object sender, EventArgs e){
 
                         if (importManager.IsRestarting){
                             if (SelectedItems.HasFlag(ProfileManager.Items.Session)){
-                                Program.Restart(Arguments.ArgImportCookies);
+                                RestartProgram(Arguments.ArgImportCookies);
                             }
                             else if (SelectedItems.HasFlag(ProfileManager.Items.SystemConfig)){
-                                Program.Restart();
+                                RestartProgram();
                             }
                         }
                         else{
@@ -210,13 +211,18 @@ private void btnCancel_Click(object sender, EventArgs e){
         private void SetFlag(ProfileManager.Items flag, bool enable){
             _selectedItems = enable ? _selectedItems | flag : _selectedItems & ~flag;
             btnContinue.Enabled = _selectedItems != ProfileManager.Items.None;
-
+            
             if (currentState == State.Import){
-                btnContinue.Text = _selectedItems.HasFlag(ProfileManager.Items.Session) ? "Import && Restart" : "Import Profile";
+                btnContinue.Text = _selectedItems.NeedsRestart() ? "Import && Restart" : "Import Profile";
             }
             else if (currentState == State.Reset){
-                btnContinue.Text = _selectedItems.HasFlag(ProfileManager.Items.Session) ? "Restore && Restart" : "Restore Defaults";
+                btnContinue.Text = _selectedItems.NeedsRestart() ? "Restore && Restart" : "Restore Defaults";
             }
         }
+
+        private void RestartProgram(params string[] extraArgs){
+            IsRestarting = true;
+            Program.Restart(extraArgs);
+        }
     }
 }