diff --git a/src/sbbs3/scfgdefs.h b/src/sbbs3/scfgdefs.h
index e6fff8f106a0712d118675b288d5f92ebe3e88b8..4067fe9d659110aae0b8061eb663138b36b5e3dc 100644
--- a/src/sbbs3/scfgdefs.h
+++ b/src/sbbs3/scfgdefs.h
@@ -314,8 +314,8 @@ typedef struct {							/* QWK Network Hub */
 				node,						/* Node to do the call-out */
 				freq,						/* Frequency of call-outs */
 				subs,						/* Number Sub-boards carried */
-				*sub,						/* Number of local sub-board for ea. */
 				*conf;						/* Conference number of ea. */
+	ulong		*sub;						/* Number of local sub-board for ea. */
 	time32_t	last;						/* Last network attempt */
 
 } qhub_t;
diff --git a/src/sbbs3/scfglib1.c b/src/sbbs3/scfglib1.c
index 4e5ac47b503a0da5c77970ccf111ea1733ee0ce2..13f5b96b2a673042582b2040f72d6b91739f9a3d 100644
--- a/src/sbbs3/scfglib1.c
+++ b/src/sbbs3/scfglib1.c
@@ -620,8 +620,8 @@ BOOL read_msgs_cfg(scfg_t* cfg, char* error)
 		get_int(k,instream);
 
 		if(k) {
-			if((cfg->qhub[i]->sub=(ushort *)malloc(sizeof(ushort)*k))==NULL)
-				return allocerr(instream,error,offset,fname,sizeof(uint)*k);
+			if((cfg->qhub[i]->sub=(ulong *)malloc(sizeof(ulong)*k))==NULL)
+				return allocerr(instream,error,offset,fname,sizeof(ulong)*k);
 			if((cfg->qhub[i]->conf=(ushort *)malloc(sizeof(ushort)*k))==NULL)
 				return allocerr(instream,error,offset,fname,sizeof(ushort)*k);
 			if((cfg->qhub[i]->mode=(char *)malloc(sizeof(char)*k))==NULL)