diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index 3d8d9cd..691e6eb 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -146,7 +146,7 @@ static char *logfile_getname(pg_time_t timestamp, const char *suffix);
 static void set_next_rotation_time(void);
 static void sigHupHandler(SIGNAL_ARGS);
 static void sigUsr1Handler(SIGNAL_ARGS);
-static void logfile_writename(char *filename, char *csvfilename);
+static void logfile_writename(void);
 
 
 /*
@@ -333,7 +333,7 @@ SysLoggerMain(int argc, char *argv[])
 			 * wait until the next logfile rotation, which could be some while
 			 * in the future.
 			 */
-			logfile_writename(last_file_name, last_csv_file_name);
+			logfile_writename();
 
 			/*
 			 * Check if the log directory or filename pattern changed in
@@ -540,7 +540,6 @@ int
 SysLogger_Start(void)
 {
 	pid_t		sysloggerPid;
-	char	   *filename;
 
 	if (!Logging_collector) {
 		/* Logging collector is not enabled. We don't know where messages are
@@ -604,13 +603,12 @@ SysLogger_Start(void)
 	 * a time-based rotation.
 	 */
 	first_syslogger_file_time = time(NULL);
-	filename = logfile_getname(first_syslogger_file_time, NULL);
-
-	syslogFile = logfile_open(filename, "a", false);
+	last_file_name = logfile_getname(first_syslogger_file_time, NULL);
 
-	logfile_writename(filename, NULL);
+	syslogFile = logfile_open(last_file_name, "a", false);
 
-	pfree(filename);
+	logfile_writename();
+	pfree(last_file_name);
 
 #ifdef EXEC_BACKEND
 	switch ((sysloggerPid = syslogger_forkexec()))
@@ -1135,7 +1133,7 @@ open_csvlogfile(void)
 
 	last_csv_file_name = filename;
 
-	logfile_writename(last_file_name, last_csv_file_name);
+	logfile_writename();
 }
 
 /*
@@ -1306,7 +1304,7 @@ logfile_rotate(bool time_based_rotation, int size_rotation_for)
 	}
 
 	if (rotate_stderr || rotate_csvlog)
-		logfile_writename(last_file_name, last_csv_file_name);
+		logfile_writename();
 	if (filename)
 		pfree(filename);
 	if (csvfilename)
@@ -1417,7 +1415,7 @@ sigUsr1Handler(SIGNAL_ARGS)
  * temporary file and renamed into the final destination for atomicity.
  */
 static void
-logfile_writename(char *filename, char *csvfilename)
+logfile_writename(void)
 {
 	FILE	*fh;
 	char	tempfn[MAXPGPATH];
@@ -1435,9 +1433,10 @@ logfile_writename(char *filename, char *csvfilename)
 	{
 		return;
 	}
-	if (filename && (Log_destination & LOG_DESTINATION_STDERR))
+
+	if (last_file_name && (Log_destination & LOG_DESTINATION_STDERR))
 	{
-		if (fprintf(fh, "stderr %s\n", filename) < 0)
+		if (fprintf(fh, "stderr %s\n", last_file_name) < 0)
 		{
 			ereport(LOG,
 					(errcode_for_file_access(),
@@ -1448,9 +1447,9 @@ logfile_writename(char *filename, char *csvfilename)
 		}
 	}
 
-	if (csvfilename && (Log_destination & LOG_DESTINATION_CSVLOG))
+	if (last_csv_file_name && (Log_destination & LOG_DESTINATION_CSVLOG))
 	{
-		if (fprintf(fh, "csvlog %s\n", csvfilename) < 0)
+		if (fprintf(fh, "csvlog %s\n", last_csv_file_name) < 0)
 		{
 			ereport(LOG,
 					(errcode_for_file_access(),
