diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
index 007f7275ba203721300b48f14797b556f5b71f2d..1499659aef05e80e346740d82d4a7b0157d3b66d 100644
--- a/src/backend/storage/buffer/bufmgr.c
+++ b/src/backend/storage/buffer/bufmgr.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.5 1996/11/08 05:58:11 momjian Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.6 1996/12/31 06:47:30 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1243,6 +1243,24 @@ ReleaseTmpRelBuffers(Relation tempreldesc)
     int holding = 0;
     BufferDesc *buf;
     
+    /*
+     * Is tempreldesc->rd_islocal == FALSE possible at all ?
+     * But I don't want to mess something now. - vadim 12/31/96
+     */
+    if ( tempreldesc->rd_islocal )
+    {
+    	for (i = 0; i < NLocBuffer; i++)
+    	{
+	    buf = &LocalBufferDescriptors[i];
+	    if ((buf->flags & BM_DIRTY) &&
+		(buf->tag.relId.relId == tempreldesc->rd_id))
+	    {
+		buf->flags &= ~BM_DIRTY;
+	    }
+    	}
+    	return;
+    }
+
     for (i=1; i<=NBuffers; i++) {
 	buf = &BufferDescriptors[i-1];
 	if (!holding) {