diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c
new file mode 100644
index cea896a..c331dd9
*** a/src/backend/postmaster/syslogger.c
--- b/src/backend/postmaster/syslogger.c
*************** SysLogger_Start(void)
*** 588,595 ****
  							 errmsg("could not redirect stderr: %m")));
  				close(fd);
  				_setmode(_fileno(stderr), _O_BINARY);
! 				/* Now we are done with the write end of the pipe. */
! 				CloseHandle(syslogPipe[1]);
  				syslogPipe[1] = 0;
  #endif
  				redirection_done = true;
--- 588,598 ----
  							 errmsg("could not redirect stderr: %m")));
  				close(fd);
  				_setmode(_fileno(stderr), _O_BINARY);
! 				/*
! 				 * Now we are done with the write end of the pipe.
! 				 * CloseHandle() must not be called because the preceding
! 				 * close() closes the underlying handle.
! 				*/
  				syslogPipe[1] = 0;
  #endif
  				redirection_done = true;
