diff --git a/src/sbbs3/scfglib2.c b/src/sbbs3/scfglib2.c
index 0a5831d356accf2a6066d61419433044bb88ee21..8e6fe9e4888f285abc5c1cfbf72051a84a71888a 100644
--- a/src/sbbs3/scfglib2.c
+++ b/src/sbbs3/scfglib2.c
@@ -550,7 +550,7 @@ BOOL read_xtrn_cfg(scfg_t* cfg, char* error, size_t maxerrlen)
 		cfg->event[i]->misc = iniGetInt32(section, NULL, "settings", 0);
 		SAFECOPY(cfg->event[i]->dir, iniGetString(section, NULL, "startup_dir", "", value));
 		cfg->event[i]->freq = iniGetShortInt(section, NULL, "freq", 0);
-		cfg->event[i]->mdays = iniGetShortInt(section, NULL, "mdays", 0);
+		cfg->event[i]->mdays = iniGetUInt32(section, NULL, "mdays", 0);
 		cfg->event[i]->months = iniGetShortInt(section, NULL, "months", 0);
 		cfg->event[i]->errlevel = (uint8_t)iniGetShortInt(section, NULL, "errlevel", LOG_ERR);
 
diff --git a/src/sbbs3/scfgsave.c b/src/sbbs3/scfgsave.c
index a7cc2b79db137f7e1030a05f5cd06df3f7d6943d..8e878bc3a26edada291b1d3103df9b87869eaca1 100644
--- a/src/sbbs3/scfgsave.c
+++ b/src/sbbs3/scfgsave.c
@@ -954,7 +954,7 @@ BOOL write_xtrn_cfg(scfg_t* cfg, int backup_level)
 		iniSetHexInt(&section, name, "settings", cfg->event[i]->misc, NULL);
 		iniSetString(&section, name, "startup_dir", cfg->event[i]->dir, NULL);
 		iniSetShortInt(&section, name, "freq", cfg->event[i]->freq, NULL);
-		iniSetShortInt(&section, name, "mdays", cfg->event[i]->mdays, NULL);
+		iniSetHexInt(&section, name, "mdays", cfg->event[i]->mdays, NULL);
 		iniSetShortInt(&section, name, "months", cfg->event[i]->months, NULL);
 		iniSetShortInt(&section, name, "errlevel", cfg->event[i]->errlevel, NULL);
 		strListMerge(&ini, section);