diff --git a/Makefile.in b/Makefile.in
index 26d78ae..c88c09c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -101,11 +101,12 @@ ac_DEPENDENCIES = lib/libgnu.la
 am_accton_OBJECTS = accton.$(OBJEXT) common.$(OBJEXT)
 accton_OBJECTS = $(am_accton_OBJECTS)
 accton_LDADD = $(LDADD)
 accton_DEPENDENCIES = lib/libgnu.la
 am_dump_acct_OBJECTS = dump-acct.$(OBJEXT) common.$(OBJEXT) \
-	file_rd.$(OBJEXT) pacct_rd.$(OBJEXT)
+	file_rd.$(OBJEXT) pacct_rd.$(OBJEXT) \
+	dev_hash.$(OBJEXT) hashtab.$(OBJEXT)
 dump_acct_OBJECTS = $(am_dump_acct_OBJECTS)
 dump_acct_LDADD = $(LDADD)
 dump_acct_DEPENDENCIES = lib/libgnu.la
 am_dump_utmp_OBJECTS = dump-utmp.$(OBJEXT) common.$(OBJEXT) \
 	file_rd.$(OBJEXT) utmp_rd.$(OBJEXT)
@@ -122,11 +123,12 @@ am_lastcomm_OBJECTS = lastcomm.$(OBJEXT) common.$(OBJEXT) \
 	pacct_rd.$(OBJEXT) uid_hash.$(OBJEXT)
 lastcomm_OBJECTS = $(am_lastcomm_OBJECTS)
 lastcomm_LDADD = $(LDADD)
 lastcomm_DEPENDENCIES = lib/libgnu.la
 am_sa_OBJECTS = sa.$(OBJEXT) common.$(OBJEXT) file_rd.$(OBJEXT) \
-	hashtab.$(OBJEXT) pacct_rd.$(OBJEXT) uid_hash.$(OBJEXT)
+	hashtab.$(OBJEXT) pacct_rd.$(OBJEXT) uid_hash.$(OBJEXT) \
+	dev_hash.$(OBJEXT)
 sa_OBJECTS = $(am_sa_OBJECTS)
 sa_LDADD = $(LDADD)
 sa_DEPENDENCIES = lib/libgnu.la
 DEFAULT_INCLUDES = -I.@am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/depcomp
diff --git a/pacct_rd.c b/pacct_rd.c
index 9bd0464..933efc0 100644
--- a/pacct_rd.c
+++ b/pacct_rd.c
@@ -28,10 +28,11 @@
 /* globals */
 
 static struct file_rd_info *pacct_info = NULL;
 
 extern int ahz;
+char *dev_gnu_name (long);
 
 #define BUFFERED_RECS 256
 
 #ifdef LINUX_MULTIFORMAT
 static int convert_acct_record_read (struct acct *rec_in, struct acct *rec_out);
@@ -84,10 +85,11 @@ struct acct *pacct_get_entry(void)
 
 
 void print_pacct_record(struct acct *rec, FILE *out)
 {
   time_t btime = (time_t)rec->ac_btime;
+  char *this_dev = dev_gnu_name ((long) rec->ac_tty);
 
   (void)fprintf(out, "%-*.*s|", COMM_LEN, COMM_LEN, rec->ac_comm);
 
 #define NUM_FORMAT "%9.2f"
 
@@ -117,13 +119,54 @@ void print_pacct_record(struct acct *rec, FILE *out)
 #ifdef HAVE_ACIO
   (void)fprintf(out, NUM_FORMAT "|", ACIO_2_DOUBLE(rec->ac_io));
 #endif
 
 #ifdef LINUX_MULTIFORMAT
-  (void)fprintf(out, "%8d %8d|", rec->ac_pid, rec->ac_ppid);
+  (void)fprintf(out, "%8d|%8d|", rec->ac_pid, rec->ac_ppid);
 #endif
 
+#ifdef ASU
+  if (rec->ac_flag & ASU)
+    (void)putchar('S');
+  else
+#endif
+    (void)putchar(' ');
+
+#ifdef AFORK
+  if (rec->ac_flag & AFORK)
+    (void)putchar('F');
+  else
+#endif
+    (void)putchar(' ');
+
+#ifdef ACOMPAT
+  if (rec->ac_flag & ACOMPAT)
+    (void)putchar('C');
+  else
+#endif
+    (void)putchar(' ');
+
+#ifdef ACORE
+  if (rec->ac_flag & ACORE)
+    (void)putchar('D');
+  else
+#endif
+    (void)putchar(' ');
+
+#ifdef AXSIG
+  if (rec->ac_flag & AXSIG)
+    (void)putchar('X');
+  else
+#endif
+    (void)putchar(' ');
+
+  (void)putchar('|');
+
+  (void)fprintf(out, "%8d|", (rec->ac_exitcode >> 8));
+
+  (void)fprintf(out, "%-8.8s|", this_dev);
+
   (void)fprintf(out, "%s", ctime (&btime));
 }
 
 
 void pacct_print_file_and_line(FILE *out)
