diff --git a/src/backend/access/transam/xlogreader.c b/src/backend/access/transam/xlogreader.c
index f1b209b1ad1a82ac3919555208213b1595e960ed..3b5d32a5815d5d3501b262cdb2e37f47b5f78b33 100644
--- a/src/backend/access/transam/xlogreader.c
+++ b/src/backend/access/transam/xlogreader.c
@@ -124,7 +124,7 @@ XLogReaderFree(XLogReaderState *state)
 {
 	int			block_id;
 
-	for (block_id = 0; block_id <= state->max_block_id; block_id++)
+	for (block_id = 0; block_id <= XLR_MAX_BLOCK_ID; block_id++)
 	{
 		if (state->blocks[block_id].data)
 			pfree(state->blocks[block_id].data);