diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 5c38b14f03f469dade6104b351a1bdf085647777..aedbd1484b80ecb243b0a5313c1d1c68a0ac022f 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -2029,7 +2029,10 @@ bool sbbs_t::init()
 	node.status=NODE_OFFLINE;
 	while(filelength(nodefile)<(long)(cfg.sys_nodes*sizeof(node_t))) {
 		lseek(nodefile,0L,SEEK_END);
-		write(nodefile,&node,sizeof(node_t)); 
+		if(write(nodefile,&node,sizeof(node_t))!=sizeof(node_t)) {
+			errormsg(WHERE,ERR_WRITE,str,sizeof(node_t));
+			break; 
+		}
 	}
 	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) {