diff --git a/src/error.c b/src/error.c
index 530fce473056758f48bb05dae242ac29599f748d..78cf508e23f96f80c0328e5ed5f959aaf4c7766f 100644
--- a/src/error.c
+++ b/src/error.c
@@ -19,7 +19,7 @@
 #include "module_support.h"
 #include "threads.h"
 
-RCSID("$Id: error.c,v 1.36 1999/07/27 21:40:43 grubba Exp $");
+RCSID("$Id: error.c,v 1.37 1999/08/25 05:06:33 hubbe Exp $");
 
 #undef ATTRIBUTE
 #define ATTRIBUTE(X)
@@ -218,10 +218,22 @@ void new_error(const char *name, const char *text, struct svalue *oldsp,
 
 void exit_on_error(void *msg)
 {
+  fprintf(stderr,"%s\n",(char *)msg);
 #ifdef PIKE_DEBUG
   dump_backlog();
 #endif
   fprintf(stderr,"%s\n",(char *)msg);
+#ifdef PIKE_DEBUG
+  {
+    char *s;
+    fprintf(stderr,"Attempting to dump raw error: (may fail)\n");
+    init_buf();
+    describe_svalue(&throw_value,0,0);
+    s=simple_free_buf();
+    fprintf(stderr,"%s\n",s);
+    free(s);
+  }
+#endif
   exit(1);
 }