diff --git a/src/sbbs3/scfg/scfg.c b/src/sbbs3/scfg/scfg.c
index 2c433da3ef192c4f99499d8f03d27bc76b01e9c1..b6038d48d079babc68fc6708c943d54e6f1f1bee 100644
--- a/src/sbbs3/scfg/scfg.c
+++ b/src/sbbs3/scfg/scfg.c
@@ -185,6 +185,7 @@ int main(int argc, char **argv)
 	const char* grpname = NULL;
 	unsigned int grpnum = 0;
 	faddr_t faddr = {0};
+	uint32_t misc = 0;
 	for(i=1;i<argc;i++) {
         if(argv[i][0]=='-'
 #ifndef __unix__
@@ -199,6 +200,10 @@ int main(int argc, char **argv)
 				faddr = atofaddr(argv[i] + 7);
 				continue;
 			}
+			if(strncmp(argv[i], "-misc=", 6) == 0) {
+				misc = strtoul(argv[i] + 7, NULL, 0);
+				continue;
+			}
 			if(strcmp(argv[i], "-insert") == 0) {
 				uifc.insert_mode = TRUE;
 				continue;
@@ -298,6 +303,7 @@ int main(int argc, char **argv)
                         "-e# =  set escape delay to #msec\n"
 						"-import=<filename> = import a message area list file\n"
 						"-faddr=<addr> = specify your FTN address for imported subs\n"
+						"-misc=<value> = specify option flags for imported subs\n"
 						"-g# =  set group number (or name) to import into\n"
 						"-iX =  set interface mode to X (default=auto) where X is one of:\n"
 #ifdef __unix__
@@ -379,7 +385,7 @@ int main(int argc, char **argv)
 			case msgbase:
 			{
 				enum import_list_type list_type = determine_msg_list_type(fname);
-				ported = import_msg_areas(list_type, fp, grpnum, 1, 99999, /* qhub: */NULL, /* pkt_orig: */NULL, &faddr, &added);
+				ported = import_msg_areas(list_type, fp, grpnum, 1, 99999, /* qhub: */NULL, /* pkt_orig: */NULL, &faddr, misc, &added);
 				break;
 			}
 			case filebase:
diff --git a/src/sbbs3/scfg/scfg.h b/src/sbbs3/scfg/scfg.h
index 7317d5e39109b04eb8caa5991f189a7f4310f431..baa4cc83a05ce342705c61ff9f90c2c6c9006722 100644
--- a/src/sbbs3/scfg/scfg.h
+++ b/src/sbbs3/scfg/scfg.h
@@ -166,7 +166,7 @@ BOOL save_chat_cfg(scfg_t*, int);
 BOOL save_xtrn_cfg(scfg_t*, int);
 
 long import_msg_areas(enum import_list_type, FILE*, unsigned grpnum, int min_confnum, int max_confnum
-	, qhub_t*, const char* pkt_orig, faddr_t* faddr, long* added);
+	, qhub_t*, const char* pkt_orig, faddr_t* faddr, uint32_t misc, long* added);
 
 /* Prepare a string to be used as an internal code; Note: use the return value, Luke */
 char* prep_code(char *str, const char* prefix);
diff --git a/src/sbbs3/scfg/scfgmsg.c b/src/sbbs3/scfg/scfgmsg.c
index 197a3d00f136ed6bab8e859b05c13a95677e8e9e..5ff8670c715f3ff902c15cb8de1680d07b7209f9 100644
--- a/src/sbbs3/scfg/scfgmsg.c
+++ b/src/sbbs3/scfg/scfgmsg.c
@@ -100,7 +100,7 @@ static bool new_grp(unsigned new_grpnum)
 
 // Return number of imported (including over-written) subs or negative on error
 long import_msg_areas(enum import_list_type type, FILE* stream, unsigned grpnum
-	, int min_confnum, int max_confnum, qhub_t* qhub, const char* pkt_orig, faddr_t* faddr
+	, int min_confnum, int max_confnum, qhub_t* qhub, const char* pkt_orig, faddr_t* faddr, uint32_t misc
 	, long* added)
 {
 	char		str[256];
@@ -156,6 +156,7 @@ long import_msg_areas(enum import_list_type type, FILE* stream, unsigned grpnum
 			new_sub_misc = SUB_FIDO;
 			break;
 	}
+	new_sub_misc |= misc;
 
 	while(1) {
 		memset(&tmpsub,0,sizeof(tmpsub));
@@ -1026,7 +1027,8 @@ void msgs_cfg()
 					}
 					uifc.pop("Importing Areas...");
 					long added = 0;
-					ported = import_msg_areas(k, stream, i, min_confnum, max_confnum, /* qhub: */NULL, pkt_orig, /* faddr: */NULL, &added);
+					ported = import_msg_areas(k, stream, i, min_confnum, max_confnum, /* qhub: */NULL
+						, pkt_orig, /* faddr: */NULL, /* misc: */0, &added);
 					fclose(stream);
 					uifc.pop(0);
 					if(ported < 0)
diff --git a/src/sbbs3/scfg/scfgnet.c b/src/sbbs3/scfg/scfgnet.c
index 56c61dd57db72c089f2ad0edcd932e8901c56cc3..897e894a12d7363d0f5684eba34f051d7ee0be43 100644
--- a/src/sbbs3/scfg/scfgnet.c
+++ b/src/sbbs3/scfg/scfgnet.c
@@ -1261,7 +1261,7 @@ BOOL import_qwk_conferences(uint qhubnum)
 	}
 	uifc.pop("Importing Areas...");
 	long added = 0;
-	long ported = import_msg_areas(IMPORT_LIST_TYPE_QWK_CONTROL_DAT, fp, grpnum, min_confnum, max_confnum, cfg.qhub[qhubnum], /* pkt_orig */NULL, /* faddr: */NULL, &added);
+	long ported = import_msg_areas(IMPORT_LIST_TYPE_QWK_CONTROL_DAT, fp, grpnum, min_confnum, max_confnum, cfg.qhub[qhubnum], /* pkt_orig */NULL, /* faddr: */NULL, /* misc: */0, &added);
 	fclose(fp);
 	uifc.pop(NULL);
 	if(ported < 0)