*** a/src/backend/access/heap/heapam.c
--- b/src/backend/access/heap/heapam.c
***************
*** 479,486 **** heapgettup(HeapScanDesc scan,
  
  				if (valid)
  				{
- 					if (!scan->rs_relpredicatelocked)
- 						PredicateLockTuple(scan->rs_rd, tuple, snapshot);
  					LockBuffer(scan->rs_cbuf, BUFFER_LOCK_UNLOCK);
  					return;
  				}
--- 479,484 ----
***************
*** 748,763 **** heapgettup_pagemode(HeapScanDesc scan,
  							nkeys, key, valid);
  				if (valid)
  				{
- 					if (!scan->rs_relpredicatelocked)
- 						PredicateLockTuple(scan->rs_rd, tuple, scan->rs_snapshot);
  					scan->rs_cindex = lineindex;
  					return;
  				}
  			}
  			else
  			{
- 				if (!scan->rs_relpredicatelocked)
- 					PredicateLockTuple(scan->rs_rd, tuple, scan->rs_snapshot);
  				scan->rs_cindex = lineindex;
  				return;
  			}
--- 746,757 ----
***************
*** 1228,1234 **** heap_beginscan_internal(Relation relation, Snapshot snapshot,
  	scan->rs_strategy = NULL;	/* set in initscan */
  	scan->rs_allow_strat = allow_strat;
  	scan->rs_allow_sync = allow_sync;
- 	scan->rs_relpredicatelocked = false;
  
  	/*
  	 * we can use page-at-a-time mode if it's an MVCC-safe snapshot
--- 1222,1227 ----
*** a/src/backend/executor/nodeSeqscan.c
--- b/src/backend/executor/nodeSeqscan.c
***************
*** 115,121 **** ExecSeqScan(SeqScanState *node)
  {
  	PredicateLockRelation(node->ss_currentRelation,
  						  node->ss_currentScanDesc->rs_snapshot);
- 	node->ss_currentScanDesc->rs_relpredicatelocked = true;
  	return ExecScan((ScanState *) node,
  					(ExecScanAccessMtd) SeqNext,
  					(ExecScanRecheckMtd) SeqRecheck);
--- 115,120 ----
*** a/src/include/access/relscan.h
--- b/src/include/access/relscan.h
***************
*** 35,41 **** typedef struct HeapScanDescData
  	BlockNumber rs_startblock;	/* block # to start at */
  	BufferAccessStrategy rs_strategy;	/* access strategy for reads */
  	bool		rs_syncscan;	/* report location to syncscan logic? */
- 	bool		rs_relpredicatelocked;	/* predicate lock on relation exists */
  
  	/* scan current state */
  	bool		rs_inited;		/* false = scan not init'd yet */
--- 35,40 ----
