diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 9de5a2443785b7ed5267a3ad7fb1017e1478f0db..5df059a26c82662230a0b833a07b3707fe5767fd 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -5121,10 +5121,9 @@ NO_SSH:
 	recycle_semfiles = semfile_list_init(scfg.ctrl_dir,"recycle", server_abbrev);
 	clear_attempts_semfiles = semfile_list_init(scfg.ctrl_dir,"clear", server_abbrev);
 	semfile_list_add(&recycle_semfiles,startup->ini_fname);
-	SAFEPRINTF(str,"%stext.dat",scfg.ctrl_dir);
-	semfile_list_add(&recycle_semfiles,str);
-	SAFEPRINTF(str,"%sattr.cfg",scfg.ctrl_dir);
-	semfile_list_add(&recycle_semfiles,str);
+	strListAppendFormat(&recycle_semfiles, "%stext.dat", scfg.ctrl_dir);
+	strListAppendFormat(&recycle_semfiles, "%stext.ini", scfg.ctrl_dir);
+	strListAppendFormat(&recycle_semfiles, "%sattr.cfg", scfg.ctrl_dir);
 	if(!initialized)
 		semfile_list_check(&initialized,shutdown_semfiles);
 	semfile_list_check(&initialized,recycle_semfiles);