diff --git a/src/sbbs3/scfg/scfgnode.c b/src/sbbs3/scfg/scfgnode.c
index b553759f581a4380a6c701bc20c2f122ee92537c..d4fe0fd22a2ef6c3805d27f5854da01ee04e1125 100644
--- a/src/sbbs3/scfg/scfgnode.c
+++ b/src/sbbs3/scfg/scfgnode.c
@@ -101,7 +101,16 @@ void node_menu()
 			SAFECOPY(cfg.node_dir,cfg.node_path[cfg.sys_nodes-1]);
 			i=cfg.sys_nodes+1;
 			load_node_cfg(&cfg,error);
-			sprintf(str,"../node%d/",i);
+			if(i == 1) {
+				SAFEPRINTF(str,"../node%d/",i);
+			} else {
+				char* p;
+				SAFECOPY(str, cfg.node_path[0]);
+				if((p = strchr(str, '1')) != NULL)
+					sprintf(p, "%d/", i);
+				else
+					SAFEPRINTF(str,"../node%d/",i);
+			}
 			sprintf(tmp,"Node %d Directory",i);
 			uifc.helpbuf=node_path_help;
 			j=uifc.input(WIN_MID,0,0,tmp,str,50,K_EDIT);