diff --git a/src/array.c b/src/array.c
index 7cdcc0ed463785411221ab2be7e117323a9d791d..d36e1ba56ef69a5caf929d28d15b1c9ec1c2fd15 100644
--- a/src/array.c
+++ b/src/array.c
@@ -1530,7 +1530,7 @@ void zap_all_arrays()
     if(!(next=a->next))
       fatal("Null pointer in array list.\n");
     
-    free_array(a);
+    /* free_array(a); */
     a=next;
   } while (a != & empty_array);
 }
diff --git a/src/main.c b/src/main.c
index 0938c231df4e7ef51672fb3e1dd1cf8a69fb4529..0d377a4ec2fc0f5f7f99686fddbbc8d82f140d5a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: main.c,v 1.12 1996/12/03 21:41:19 hubbe Exp $");
+RCSID("$Id: main.c,v 1.13 1996/12/05 01:51:21 hubbe Exp $");
 #include "types.h"
 #include "backend.h"
 #include "module.h"
@@ -288,6 +288,7 @@ void exit_main()
 
   cleanup_callbacks();
   zap_all_arrays();
+  zap_all_mappings();
 
   cleanup_shared_string_table();
 }
diff --git a/src/mapping.c b/src/mapping.c
index 38ef53c929e0bd99c3e48cc9f700960e836717f9..8aaa8ed6b9990f2f5276d6b49d3b950269979689 100644
--- a/src/mapping.c
+++ b/src/mapping.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: mapping.c,v 1.8 1996/12/05 00:47:15 hubbe Exp $");
+RCSID("$Id: mapping.c,v 1.9 1996/12/05 01:51:22 hubbe Exp $");
 #include "main.h"
 #include "types.h"
 #include "object.h"
@@ -1044,7 +1044,7 @@ void zap_all_mappings()
     
     next=m->next;
     
-    free_mapping(m);
+    /* free_mapping(m); */
   }
 }