--- a/restore/utilities.c
+++ b/restore/utilities.c
@@ -359,7 +359,7 @@ upperbnd(dump_ino_t start)
 }
 
 /*
- * report on a badly formed entry
+ * report and terminate on a badly formed entry
  */
 void
 badentry(struct entry *ep, const char *msg)
@@ -387,6 +387,8 @@ badentry(struct entry *ep, const char *m
 	fprintf(stderr, "entry type: %s\n",
 		ep->e_type == NODE ? "NODE" : "LEAF");
 	fprintf(stderr, "inode number: %lu\n", (unsigned long)ep->e_ino);
+	/* a corrupt symbol table is very unlikely to be recoverable */
+	yflag = 0;										
 	panic("flags: %s\n", flagvalues(ep));
 }
 
