diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c
index 15d55ab647fbee8b678d543a7ce8ffdbad204dec..2349e956a8995b800d903f75c0bd1775bbfb02b9 100644
--- a/src/backend/storage/lmgr/lock.c
+++ b/src/backend/storage/lmgr/lock.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lock.c,v 1.54 1999/05/25 22:42:03 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lock.c,v 1.55 1999/05/29 06:14:42 vadim Exp $
  *
  * NOTES
  *	  Outside modules can create a lock table and acquire/release
@@ -1532,7 +1532,7 @@ LockShmemSize(int maxBackends)
 							   SHMEM_LOCKTAB_DATASIZE);
 
 	/* xidHash table */
-	size += hash_estimate_size(maxBackends,
+	size += hash_estimate_size(NLOCKENTS(maxBackends),
 							   SHMEM_XIDTAB_KEYSIZE,
 							   SHMEM_XIDTAB_DATASIZE);
 
diff --git a/src/include/storage/lock.h b/src/include/storage/lock.h
index 20fbdff9090366d9a322587ae5bec623baddecfc..8693231a8c65ec3878180f927ff8a57ddaba76af 100644
--- a/src/include/storage/lock.h
+++ b/src/include/storage/lock.h
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: lock.h,v 1.28 1999/05/25 22:43:26 momjian Exp $
+ * $Id: lock.h,v 1.29 1999/05/29 06:14:42 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -31,10 +31,11 @@ typedef int MASK;
  * See LockShmemSize() in lock.c.
  *
  * NLOCKS_PER_XACT - The number of unique locks acquired in a transaction
+ *                   (should be configurable!)
  * NLOCKENTS - The maximum number of lock entries in the lock table.
  * ----------------------
  */
-#define NLOCKS_PER_XACT			40
+#define NLOCKS_PER_XACT			64
 #define NLOCKENTS(maxBackends)	(NLOCKS_PER_XACT*(maxBackends))
 
 typedef int LOCKMODE;