diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
new file mode 100644
index acec3bd..1c26555
*** a/src/backend/storage/buffer/bufmgr.c
--- b/src/backend/storage/buffer/bufmgr.c
*************** DropRelFileNodeBuffers(RelFileNodeBacken
*** 2059,2064 ****
--- 2059,2068 ----
  	{
  		volatile BufferDesc *bufHdr = &BufferDescriptors[i];
  
+ 		/* due to AccessExclusive lock, no tags should be mutating towards
+ 		 * The rnode.  They might be mutating away, so recheck after locking*/
+ 		if (!RelFileNodeEquals(bufHdr->tag.rnode, rnode.node)) continue;
+ 
  		LockBufHdr(bufHdr);
  		if (RelFileNodeEquals(bufHdr->tag.rnode, rnode.node) &&
  			(bufHdr->tag.forkNum == forkNum ||
