diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
index 48358c5b7325ff16416daac035463e8997c8dcd4..9184c82a0e64fbfb8ac7a1790c7ba09c7c0c5bd6 100644
--- a/src/backend/postmaster/syslogger.c
+++ b/src/backend/postmaster/syslogger.c
@@ -1063,10 +1063,12 @@ pipeThread(void *arg)
 		 * If we've filled the current logfile, nudge the main thread to do a
 		 * log rotation.
 		 */
-		if (Log_RotationSize > 0 &&
-			ftell(syslogFile) >= Log_RotationSize * 1024L)
-			SetLatch(&sysLoggerLatch);
-
+		if (Log_RotationSize > 0)
+		{
+			if (ftell(syslogFile) >= Log_RotationSize * 1024L ||
+				(csvlogFile != NULL && ftell(csvlogFile) >= Log_RotationSize * 1024L))
+				SetLatch(&sysLoggerLatch);
+		}
 		LeaveCriticalSection(&sysloggerSection);
 	}