diff --git a/src/sbbs3/scfglib1.c b/src/sbbs3/scfglib1.c
index c0bf2708f442ce33173ae18ab74ebc280e6da17c..8f203da81645a0636207556da7e6834247a9c799 100644
--- a/src/sbbs3/scfglib1.c
+++ b/src/sbbs3/scfglib1.c
@@ -160,7 +160,7 @@ BOOL read_main_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
 
 	SAFECOPY(cfg->new_genders, iniGetString(ini, section, "gender_options", "MFX", value));
 	SAFECOPY(cfg->new_pass, iniGetString(ini, section, "password", "", value));
-	SAFECOPY(cfg->new_magic, iniGetString(ini, section, "magic", "", value));
+	SAFECOPY(cfg->new_magic, iniGetString(ini, section, "magic_word", "", value));
 	SAFECOPY(cfg->new_sif, iniGetString(ini, section, "sif", "", value));
 	SAFECOPY(cfg->new_sof, iniGetString(ini, section, "sof", cfg->new_sif, value));
 	cfg->new_prot = *iniGetString(ini, section, "download_protocol", " ", value);
diff --git a/src/sbbs3/scfgsave.c b/src/sbbs3/scfgsave.c
index 69ca6d22aa9ab1f861438fc79f4178af0137d88c..a8537de92414cdf6cab57139a98c7b225fa316b3 100644
--- a/src/sbbs3/scfgsave.c
+++ b/src/sbbs3/scfgsave.c
@@ -638,7 +638,7 @@ BOOL write_file_cfg(scfg_t* cfg, int backup_level)
 				continue;
 			if (cfg->dir[i]->lib == j) {
 				cfg->dir[i]->dirnum = dirnum++;
-				SAFEPRINTF2(tmp, "lib:%s:%s"
+				SAFEPRINTF2(tmp, "dir:%s:%s"
 					,cfg->lib[j]->sname, cfg->dir[i]->code_suffix);
 				section = tmp;
 				iniSetString(&ini, section, "description", cfg->dir[i]->lname, NULL);
@@ -708,6 +708,7 @@ BOOL write_file_cfg(scfg_t* cfg, int backup_level)
 		iniSetString(&ini, section, "ars", cfg->txtsec[i]->arstr, NULL);
 	}
 
+	SAFEPRINTF(path, "%sfile.ini", cfg->ctrl_dir);
 	FILE* fp = fopen(path, "w");
 	if(fp != NULL) {
 		result = iniWriteFile(fp, ini);