diff --git a/lisp/backtrace.c b/lisp/backtrace.c
index b430c5d1300f90cac3c4971e08219a209f27b35e..02cff379f1edc281933953ecc0fb5faa28cff615 100644
--- a/lisp/backtrace.c
+++ b/lisp/backtrace.c
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/backtrace.c,v 1.6 2003/07/25 17:57:01 gerd Exp $
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/backtrace.c,v 1.7 2003/07/28 13:31:46 gerd Exp $
  *
  * Simple backtrace facility.  More or less from Rob's lisp version.
  */
@@ -278,13 +278,24 @@ print_entry_name (lispobj name)
   if (TypeOf (*object) == type_SymbolHeader)
     {
       struct symbol *symbol = (struct symbol *) object;
+      struct vector *string;
+
+      if (symbol->package != NIL)
+	{
+	  struct instance *pkg = (struct instance *) PTR (symbol->package);
+	  lispobj pkg_name = pkg->slots[2];
+	  string = (struct vector *) PTR (pkg_name);
+	  printf ("%s::", (char *) string->data);
+	}
+      
       object = (lispobj *) PTR (symbol->name);
+      string = (struct vector *) object;
+      printf ("%s", (char *) string->data);
     }
-  
-  if (TypeOf (*object) == type_SimpleString)
+  else if (TypeOf (*object) == type_SimpleString)
     {
       struct vector *string = (struct vector *) object;
-      printf ("%s", (char *) string->data);
+      printf ("\"%s\"", (char *) string->data);
     }
   else
     printf ("<??? type %d>", TypeOf (*object));