diff --git a/src/sbbs3/ctrl/MainFormUnit.cpp b/src/sbbs3/ctrl/MainFormUnit.cpp
index ef89a5338f1958a20d2a20c52dba9c076c877553..be01e35f0ced94385712c005cbf6f3fbdcd07b43 100644
--- a/src/sbbs3/ctrl/MainFormUnit.cpp
+++ b/src/sbbs3/ctrl/MainFormUnit.cpp
@@ -3865,10 +3865,10 @@ void __fastcall TMainForm::ClearErrorsExecute(TObject *Sender)
     node_t node;
     for(int i=0;i<cfg.sys_nodes;i++) {
     	int file;
-       	if(NodeForm->getnodedat(i+1,&node,&file))
+       	if(NodeForm->getnodedat(i+1,&node, /*lockit: */true))
             break;
         node.errors=0;
-        if(NodeForm->putnodedat(i+1,&node,file))
+        if(NodeForm->putnodedat(i+1,&node))
             break;
     }
 }
diff --git a/src/sbbs3/ctrl/NodeFormUnit.cpp b/src/sbbs3/ctrl/NodeFormUnit.cpp
index 5b67032e6b3624024e4115f797ed0f7179939850..a873f17a87b38c8123ab5ec1184ec7bc80f47468 100644
--- a/src/sbbs3/ctrl/NodeFormUnit.cpp
+++ b/src/sbbs3/ctrl/NodeFormUnit.cpp
@@ -59,6 +59,7 @@ __fastcall TNodeForm::TNodeForm(TComponent* Owner)
 {
     MainForm->bbs_startup.node_spybuf
         =(RingBuf**)calloc(1,sizeof(RingBuf*)*MAX_NODES);
+	file = -1;
 }
 //---------------------------------------------------------------------------
 void __fastcall TNodeForm::FormHide(TObject *Sender)
@@ -66,12 +67,12 @@ void __fastcall TNodeForm::FormHide(TObject *Sender)
 	MainForm->ViewNodes->Checked=false;
 }
 //---------------------------------------------------------------------------
-int __fastcall TNodeForm::getnodedat(int node_num, node_t* node, int* file)
+int __fastcall TNodeForm::getnodedat(int node_num, node_t* node, bool lockit)
 {
     char    errmsg[128];
     int     err;
 
-    if((err=::getnodedat(&MainForm->cfg,node_num,node,file))!=0) {
+    if((err=::getnodedat(&MainForm->cfg,node_num,node,lockit,&file))!=0) {
         sprintf(errmsg,"getnodedat returned %d",err);
     	Application->MessageBox(errmsg
             ,"ERROR",MB_OK|MB_ICONEXCLAMATION);
@@ -80,12 +81,12 @@ int __fastcall TNodeForm::getnodedat(int node_num, node_t* node, int* file)
     return(err);
 }
 //---------------------------------------------------------------------------
-int __fastcall TNodeForm::putnodedat(int node_num, node_t* node, int file)
+int __fastcall TNodeForm::putnodedat(int node_num, node_t* node)
 {
     char    errmsg[128];
     int     err;
 
-    if((err=::putnodedat(&MainForm->cfg,node_num,node, file))!=0) {
+    if((err=::putnodedat(&MainForm->cfg,node_num,node, /* closeit: */false,file))!=0) {
         sprintf(errmsg,"putnodedat(%d) returned %d",file,err);
     	Application->MessageBox(errmsg
             ,"ERROR",MB_OK|MB_ICONEXCLAMATION);
@@ -196,15 +197,14 @@ void __fastcall TNodeForm::TimerTick(TObject *Sender)
 void __fastcall TNodeForm::InterruptNodeButtonClick(TObject *Sender)
 {
 	int i;
-    int file;
     node_t node;
 
     for(i=0;i<ListBox->Items->Count;i++)
     	if(ListBox->Selected[i]==true) {
-        	if(getnodedat(i+1,&node,&file))
+        	if(getnodedat(i+1,&node, /* lockit: */true))
                 break;
             node.misc^=NODE_INTR;
-            if(putnodedat(i+1,&node,file))
+            if(putnodedat(i+1,&node))
                 break;
         }
     TimerTick(Sender);
@@ -214,15 +214,14 @@ void __fastcall TNodeForm::InterruptNodeButtonClick(TObject *Sender)
 void __fastcall TNodeForm::LockNodeButtonClick(TObject *Sender)
 {
 	int i;
-    int file;
     node_t node;
 
     for(i=0;i<ListBox->Items->Count;i++)
     	if(ListBox->Selected[i]==true) {
-        	if(getnodedat(i+1,&node,&file))
+        	if(getnodedat(i+1,&node, /*lockit: */true))
                 break;
             node.misc^=NODE_LOCK;
-            if(putnodedat(i+1,&node,file))
+            if(putnodedat(i+1,&node))
                 break;
         }
     TimerTick(Sender);
@@ -232,15 +231,14 @@ void __fastcall TNodeForm::LockNodeButtonClick(TObject *Sender)
 void __fastcall TNodeForm::RerunNodeButtonClick(TObject *Sender)
 {
 	int i;
-    int file;
     node_t node;
 
     for(i=0;i<ListBox->Items->Count;i++)
     	if(ListBox->Selected[i]==true) {
-        	if(getnodedat(i+1,&node,&file))
+        	if(getnodedat(i+1,&node, /*lockit: */true))
                 break;
             node.misc^=NODE_RRUN;
-            if(putnodedat(i+1,&node,file))
+            if(putnodedat(i+1,&node))
                 break;
         }
     TimerTick(Sender);
@@ -262,12 +260,11 @@ void __fastcall TNodeForm::SelectAllMenuItemClick(TObject *Sender)
 void __fastcall TNodeForm::DownButtonClick(TObject *Sender)
 {
 	int i;
-    int file;
     node_t node;
 
     for(i=0;i<ListBox->Items->Count;i++)
     	if(ListBox->Selected[i]==true) {
-        	if(getnodedat(i+1,&node,&file))
+        	if(getnodedat(i+1,&node, /*lockit: */true))
                 break;
             if(node.status==NODE_WFC)
             	node.status=NODE_OFFLINE;
@@ -275,7 +272,7 @@ void __fastcall TNodeForm::DownButtonClick(TObject *Sender)
             	node.status=NODE_WFC;
             else
 	            node.misc^=NODE_DOWN;
-            if(putnodedat(i+1,&node,file))
+            if(putnodedat(i+1,&node))
                 break;
         }
     TimerTick(Sender);
@@ -285,15 +282,14 @@ void __fastcall TNodeForm::DownButtonClick(TObject *Sender)
 void __fastcall TNodeForm::ClearErrorButtonClick(TObject *Sender)
 {
 	int i;
-    int file;
     node_t node;
 
     for(i=0;i<ListBox->Items->Count;i++)
     	if(ListBox->Selected[i]==true) {
-        	if(getnodedat(i+1,&node,&file))
+        	if(getnodedat(i+1,&node, /*lockit: */true))
                 break;
             node.errors=0;
-            if(putnodedat(i+1,&node,file))
+            if(putnodedat(i+1,&node))
                 break;
         }
     TimerTick(Sender);
@@ -309,7 +305,7 @@ void __fastcall TNodeForm::ChatButtonClick(TObject *Sender)
 
     for(i=0;i<ListBox->Items->Count;i++)
     	if(ListBox->Selected[i]==true) {
-        	if(getnodedat(i+1,&node,NULL))
+        	if(getnodedat(i+1,&node, /*lockit: */false))
                 break;
             if(node.status==NODE_WFC || node.status>NODE_QUIET)
                 continue;
@@ -352,7 +348,7 @@ void __fastcall TNodeForm::UserEditButtonClick(TObject *Sender)
 
     for(i=0;i<ListBox->Items->Count;i++)
     	if(ListBox->Selected[i]==true) {
-        	if(getnodedat(i+1,&node,NULL))
+        	if(getnodedat(i+1,&node, /*lockit: */false))
                 break;
             if(node.useron==0)
                 continue;
@@ -378,7 +374,7 @@ void __fastcall TNodeForm::UserMsgButtonClick(TObject *Sender)
         UserMsgForm->Memo->Lines->Add("");
         for(i=0;i<ListBox->Items->Count;i++)
             if(ListBox->Selected[i]==true) {
-               	if(getnodedat(i+1,&node,NULL))
+               	if(getnodedat(i+1,&node, /*lockit: */false))
                     break;
                 if(node.useron==0)
                     continue;
diff --git a/src/sbbs3/ctrl/NodeFormUnit.h b/src/sbbs3/ctrl/NodeFormUnit.h
index 42afd95d69f7fb6dbc4090a3a85e2eb1da835115..a001d7480bedb1c86f69da1a0b8de87d30320011 100644
--- a/src/sbbs3/ctrl/NodeFormUnit.h
+++ b/src/sbbs3/ctrl/NodeFormUnit.h
@@ -91,11 +91,11 @@ __published:	// IDE-managed Components
     void __fastcall UserMsgButtonClick(TObject *Sender);
     void __fastcall RefreshMenuItemClick(TObject *Sender);
 private:	// User declarations
-
+	int file;
 public:		// User declarations
      __fastcall TNodeForm(TComponent* Owner);
-    int __fastcall getnodedat(int node_num, node_t* node, int* file);
-    int __fastcall putnodedat(int node_num, node_t* node, int file);
+    int __fastcall getnodedat(int node_num, node_t* node, bool lockit);
+    int __fastcall putnodedat(int node_num, node_t* node);
 
 };
 //---------------------------------------------------------------------------