diff -rpcd a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c *** a/src/backend/access/transam/xlog.c 2013-06-25 03:55:41.000000000 +0900 --- b/src/backend/access/transam/xlog.c 2013-07-31 22:26:31.913000000 +0900 *************** XLogFileRead(XLogSegNo segno, int emode, *** 2658,2666 **** /* * If the segment was fetched from archival storage, replace the existing ! * xlog segment (if any) with the archival version. */ ! if (source == XLOG_FROM_ARCHIVE) { KeepFileRestoredFromArchive(path, xlogfname); --- 2658,2667 ---- /* * If the segment was fetched from archival storage, replace the existing ! * xlog segment (if any) with the archival version on a cascading standby. */ ! if (source == XLOG_FROM_ARCHIVE && ! StandbyModeRequested && AllowCascadeReplication()) { KeepFileRestoredFromArchive(path, xlogfname);