{
    XLogRecPtr  lsn = record->EndRecPtr;
    Buffer      buffer;
+   BlockNumber regpgno;
    Page        page;
    XLogRedoAction action;
 
        action = XLogReadBufferForRedo(record, 0, &buffer);
    }
 
+   /* need this page's blkno to store in revmap */
+   regpgno = BufferGetBlockNumber(buffer);
+
    /* insert the index item into the page */
    if (action == BLK_NEEDS_REDO)
    {
    if (action == BLK_NEEDS_REDO)
    {
        ItemPointerData tid;
-       BlockNumber blkno = BufferGetBlockNumber(buffer);
 
-       ItemPointerSet(&tid, blkno, xlrec->offnum);
+       ItemPointerSet(&tid, regpgno, xlrec->offnum);
        page = (Page) BufferGetPage(buffer);
 
        brinSetHeapBlockItemptr(buffer, xlrec->pagesPerRange, xlrec->heapBlk,