*** a/src/backend/access/heap/heapam.c
--- b/src/backend/access/heap/heapam.c
***************
*** 4105,4116 **** heap_tuple_needs_freeze(HeapTupleHeader tuple, TransactionId cutoff_xid,
  		TransactionIdPrecedes(xid, cutoff_xid))
  		return true;
  
! 	if (!(tuple->t_infomask & HEAP_XMAX_IS_MULTI))
  	{
! 		xid = HeapTupleHeaderGetXmax(tuple);
! 		if (TransactionIdIsNormal(xid) &&
! 			TransactionIdPrecedes(xid, cutoff_xid))
! 			return true;
  	}
  
  	if (tuple->t_infomask & HEAP_MOVED)
--- 4105,4119 ----
  		TransactionIdPrecedes(xid, cutoff_xid))
  		return true;
  
! 	if (!(tuple->t_infomask & HEAP_XMAX_INVALID))
  	{
! 		if (!(tuple->t_infomask & HEAP_XMAX_IS_MULTI))
! 		{
! 			xid = HeapTupleHeaderGetXmax(tuple);
! 			if (TransactionIdIsNormal(xid) &&
! 				TransactionIdPrecedes(xid, cutoff_xid))
! 				return true;
! 		}
  	}
  
  	if (tuple->t_infomask & HEAP_MOVED)
