diff --git a/src/syncterm/bbslist.c b/src/syncterm/bbslist.c
index 611a235e58992d8768df6abf5affdd9ce6d85136..e6ea7eb45d7ff24379bf425dbe95f47d6d5845e9 100644
--- a/src/syncterm/bbslist.c
+++ b/src/syncterm/bbslist.c
@@ -2917,7 +2917,38 @@ kbwait(void)
 static void
 write_webgets(void)
 {
-	// TODO: Save changes
+	FILE      *inifile;
+	char       inipath[MAX_PATH + 1];
+	str_list_t ini_file;
+
+	if (safe_mode)
+		return;
+	get_syncterm_filename(inipath, sizeof(inipath), SYNCTERM_PATH_INI, false);
+	if ((inifile = fopen(inipath, "r")) != NULL) {
+		ini_file = iniReadFile(inifile);
+		fclose(inifile);
+	}
+	else {
+		ini_file = strListInit();
+	}
+
+	iniRemoveSection(&ini_file, "WebLists");
+
+	if (settings.webgets != NULL) {
+		for (size_t i = 0; settings.webgets[i]; i++)
+			iniSetString(&ini_file, "WebLists", settings.webgets[i]->name, settings.webgets[i]->value, &ini_style);
+	}
+	if ((inifile = fopen(inipath, "w")) != NULL) {
+		iniWriteFile(inifile, ini_file);
+		fclose(inifile);
+	}
+	else {
+		uifc.helpbuf = "There was an error writing the INI file.\nCheck permissions and try again.\n";
+		uifc.msg("Cannot write to the .ini file!");
+		check_exit(false);
+	}
+
+	strListFree(&ini_file);
 }
 
 static void