Index: java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java
===================================================================
--- java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 850)
+++ java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 852)
@@ -50,4 +50,5 @@
 import net.oni2.aeinstaller.backend.ImageResizer;
 import net.oni2.aeinstaller.backend.Paths;
+import net.oni2.aeinstaller.backend.RuntimeOptions;
 import net.oni2.aeinstaller.backend.SizeFormatter;
 import net.oni2.aeinstaller.backend.oni.OniLauncher;
@@ -217,6 +218,6 @@
 		DepotManager.loadFromCacheFile(Paths.getDepotCacheFilename());
 
-		if (!SettingsManager.getInstance().isOfflineMode()
-				&& !SettingsManager.getInstance().isNoCacheUpdateMode()) {
+		if (!RuntimeOptions.isOfflineMode()
+				&& !RuntimeOptions.isNoCacheUpdateMode()) {
 			long start = new Date().getTime();
 
@@ -240,5 +241,5 @@
 		if ((evtSource != this)
 				|| SettingsManager.getInstance().get("notifyupdates", true)) {
-			if (SettingsManager.getInstance().isOfflineMode()) {
+			if (RuntimeOptions.isOfflineMode()) {
 				if (evtSource != this) {
 					JOptionPane.showMessageDialog(
@@ -584,5 +585,5 @@
 	@SuppressWarnings("unused")
 	private void checkCorePackages() {
-		if (!SettingsManager.getInstance().isOfflineMode()) {
+		if (!RuntimeOptions.isOfflineMode()) {
 			TreeSet<Package> tools = new TreeSet<Package>();
 			for (Package m : PackageManager.getInstance().getCoreTools()) {
@@ -649,6 +650,5 @@
 			}
 
-			if (toDownload.size() > 0
-					&& SettingsManager.getInstance().isOfflineMode()) {
+			if (toDownload.size() > 0 && RuntimeOptions.isOfflineMode()) {
 				installState = EInstallState.OFFLINE;
 				break;
Index: java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java
===================================================================
--- java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java	(revision 850)
+++ java/installer2/src/net/oni2/aeinstaller/gui/settings/SettingsDialog.java	(revision 852)
@@ -14,5 +14,7 @@
 import javax.swing.UIManager;
 
+import net.oni2.ProxySettings;
 import net.oni2.SettingsManager;
+import net.oni2.aeinstaller.backend.Paths;
 import net.oni2.resourcebundle.UTF8ResourceBundleLoader;
 
@@ -100,4 +102,7 @@
 					JOptionPane.INFORMATION_MESSAGE);
 		}
+		
+		ProxySettings prox = ProxySettings.getInstance();
+		prox.serializeToFile(Paths.getProxySettingsFilename());
 
 		return true;
Index: java/installer2/src/net/oni2/aeinstaller/gui/toolmanager/ToolManager.java
===================================================================
--- java/installer2/src/net/oni2/aeinstaller/gui/toolmanager/ToolManager.java	(revision 850)
+++ java/installer2/src/net/oni2/aeinstaller/gui/toolmanager/ToolManager.java	(revision 852)
@@ -18,4 +18,5 @@
 
 import net.oni2.SettingsManager;
+import net.oni2.aeinstaller.backend.RuntimeOptions;
 import net.oni2.aeinstaller.backend.oni.management.tools.ToolsManager;
 import net.oni2.aeinstaller.backend.packages.Package;
@@ -103,5 +104,5 @@
 			} else {
 				if (!selectedPackage.isLocalAvailable()) {
-					if (SettingsManager.getInstance().isOfflineMode()) {
+					if (RuntimeOptions.isOfflineMode()) {
 						JOptionPane.showMessageDialog(this,
 								bundle.getString("offlineMode.text"),
