diff --git a/src/sbbs3/getnode.cpp b/src/sbbs3/getnode.cpp
index dce71520847ed293030e3b05802f85b666e76f8f..0e0ce10334ed7c1f9250577730cb1702eaeca5dc 100644
--- a/src/sbbs3/getnode.cpp
+++ b/src/sbbs3/getnode.cpp
@@ -91,6 +91,8 @@ int sbbs_t::getnodedat(uint number, node_t *node, bool lockit)
 
 	if(count==LOOP_NODEDAB) {
 		errormsg(WHERE,rd==sizeof(node_t) ? ERR_LOCK : ERR_READ,"node.dab",number+1);
+		close(nodefile);
+		nodefile=-1;
 		return(-2);
 	}
 	if(count>(LOOP_NODEDAB/2)) {