diff --git a/ldb/monitor.c b/ldb/monitor.c
index 93374de90af41384afa36f2a2c78cd2a1574187f..0992add32861fb4eca6c6d819d5e8a117aaac097 100644
--- a/ldb/monitor.c
+++ b/ldb/monitor.c
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/ldb/Attic/monitor.c,v 1.11 1990/10/23 00:07:23 wlott Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/ldb/Attic/monitor.c,v 1.12 1990/11/12 02:36:58 wlott Exp $ */
 
 #include <stdio.h>
 #include <setjmp.h>
@@ -17,7 +17,7 @@ static void call_cmd(), dump_cmd(), print_cmd(), quit(), help();
 static void flush_cmd(), search_cmd(), regs_cmd(), exit_cmd();
 static void timed_call_cmd(), gc_cmd(), print_context_cmd();
 static void backtrace_cmd(), purify_cmd(), catchers_cmd(), save_cmd();
-static void grab_sigs_cmd();
+static void grab_sigs_cmd(), restore_cmd();
 
 static struct cmd {
     char *cmd, *help;
@@ -40,6 +40,7 @@ static struct cmd {
     {"p", NULL, print_cmd},
     {"quit", "quit.", quit},
     {"regs", "display current lisp regs.", regs_cmd},
+    {"restore", "restore the saved lisp image.", restore_cmd},
     {"save", "save the current lisp image.", save_cmd},
     {"search", "search for TYPE starting at ADDRESS for a max of COUNT words.", search_cmd},
     {"s", NULL, search_cmd},
@@ -435,6 +436,12 @@ char **ptr;
         save("lisp.core");
 }
 
+static void restore_cmd(ptr)
+     char **ptr;
+{
+    restore();
+}
+
 static void grab_sigs_cmd()
 {
     printf("Grabbing signals.\n");