diff --git a/src/sbbs3/logout.cpp b/src/sbbs3/logout.cpp
index d30bdb12b8d85980ed0588f962e512214aa91c25..83625aa2a1c4f244a347e6ff3cfe7aaa6e194972 100644
--- a/src/sbbs3/logout.cpp
+++ b/src/sbbs3/logout.cpp
@@ -49,7 +49,6 @@ void sbbs_t::logout()
 	ushort	ttoday;
 	node_t	node;
 	struct	tm * tm, tm_now;
-	FILE	*stream;
 
 	now=time(NULL);
 	tm=gmtime(&now);
@@ -86,12 +85,7 @@ void sbbs_t::logout()
 #endif
 		batdn_total=0; }
 
-	if(batdn_total) {
-		sprintf(str,"%sfile/%04u.dwn",cfg.data_dir,useron.number);
-		if((stream=fnopen(NULL,str,O_WRONLY|O_TRUNC|O_CREAT))!=NULL) {
-			for(i=0;i<(int)batdn_total;i++)
-				fprintf(stream,"%s\r\n",batdn_name[i]);
-			fclose(stream); } }
+	batch_create_list();
 
 	if(sys_status&SS_USERON && thisnode.status!=NODE_QUIET && !(useron.rest&FLAG('Q')))
 		for(i=1;i<=cfg.sys_nodes;i++)
diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h
index 874d1a75bda23b71120a372b52f292e89b8173a8..01d8f994f80dbec1205bcd40872540f7f0d0bf84 100644
--- a/src/sbbs3/sbbs.h
+++ b/src/sbbs3/sbbs.h
@@ -550,6 +550,7 @@ public:
 
 	/* bat_xfer.cpp */
 	void	batchmenu(void);
+	void	batch_create_list(void);
 	void	batch_add_list(char *list);
 	bool	create_batchup_lst(void);
 	bool	create_batchdn_lst(void);