diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 18894433b26ebb4c1c533c555a0cd4f699d4034e..29a56e24290b16b757c564023204bd1fbecd8d6d 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -3546,6 +3546,8 @@ bool sbbs_t::init()
 			break;
 		}
 	}
+	if(chsize(nodefile, (off_t)(cfg.sys_nodes*sizeof(node_t))) != 0)
+		errormsg(WHERE, ERR_LEN, str, cfg.sys_nodes*sizeof(node_t));
 	for(i=0; cfg.node_num>0 && i<LOOP_NODEDAB; i++) {
 		if(lock(nodefile,(cfg.node_num-1)*sizeof(node_t),sizeof(node_t))==0) {
 			unlock(nodefile,(cfg.node_num-1)*sizeof(node_t),sizeof(node_t));