diff --git a/lib/modules/Yabu.pmod/module.pmod b/lib/modules/Yabu.pmod/module.pmod
index f831484859a9693f392cdf3a873aed79b9bbc4e3..b4216af392bf7cc86aef7aa0447f9a90613f96d2 100644
--- a/lib/modules/Yabu.pmod/module.pmod
+++ b/lib/modules/Yabu.pmod/module.pmod
@@ -4,7 +4,7 @@
  * associated with a unique key.
  */
 
-constant cvs_id = "$Id: module.pmod,v 1.10 1999/06/14 20:10:57 noring Exp $";
+constant cvs_id = "$Id: module.pmod,v 1.11 1999/08/05 16:24:47 noring Exp $";
 
 #define ERR(msg) throw(({ "(Yabu) "+msg+"\n", backtrace() }))
 #define WARN(msg) werror(msg)
@@ -1221,6 +1221,12 @@ class db {
     foreach(values(tables), object o)
       if(o)
 	destruct(o);
+    destruct(lock_file);
+  }
+
+  void close()
+  {
+    destruct(this_object());
   }
   
   int reorganize(float|void ratio)
@@ -1249,6 +1255,8 @@ class db {
     
   void create(string dir_in, string mode_in)
   {
+    atexit(close);
+    
     dir = dir_in;
     mode = mode_in;