diff --git a/src/backend/postmaster/pgarch.c b/src/backend/postmaster/pgarch.c
index 45e80984132d904e65f5ea824f5c31872527f788..3b6cc9d5d9749f67cafeff296ac1ea9e81ccce48 100644
--- a/src/backend/postmaster/pgarch.c
+++ b/src/backend/postmaster/pgarch.c
@@ -19,7 +19,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/postmaster/pgarch.c,v 1.20 2006/03/05 15:58:35 momjian Exp $
+ *	  $PostgreSQL: pgsql/src/backend/postmaster/pgarch.c,v 1.21 2006/05/30 13:30:49 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -352,7 +352,7 @@ pgarch_ArchiverCopyLoop(void)
 	 * some backend will add files onto the list of those that need archiving
 	 * while we are still copying earlier archives
 	 */
-	while (pgarch_readyXlog(xlog))
+	while (PostmasterIsAlive(true) && pgarch_readyXlog(xlog))
 	{
 		int			failures = 0;