Index: functions.c
===================================================================
--- functions.c	(revision 31e48a31baadb6973aeafc691fec373040f39690)
+++ functions.c	(revision df0d93ab052f98d5b33d143b414f633faff6626c)
@@ -1225,15 +1225,9 @@
   owl_fmtext_append_normal(&fm, buff);
   owl_fmtext_append_normal(&fm, "\n");
-  if (owl_message_is_type_zephyr(m)) {
-    owl_fmtext_append_normal(&fm, "Type      : zephyr\n");
-  } else if (owl_message_is_type_admin(m)) {
-    owl_fmtext_append_normal(&fm, "Type      : admin\n");
-  } else if (owl_message_is_type_generic(m)) {
-    owl_fmtext_append_normal(&fm, "Type      : generic\n");
-  } else if (owl_message_is_type_aim(m)) {
-    owl_fmtext_append_normal(&fm, "Type      : aim\n");
-  } else {
-    owl_fmtext_append_normal(&fm, "Type      : unknown\n");
-  }
+
+  owl_fmtext_append_normal(&fm, "Type      : ");
+  owl_fmtext_append_bold(&fm, owl_message_type_to_string(m));
+  owl_fmtext_append_normal(&fm, "\n");
+
   if (owl_message_is_direction_in(m)) {
     owl_fmtext_append_normal(&fm, "Direction : in\n");
@@ -1245,31 +1239,39 @@
     owl_fmtext_append_normal(&fm, "Direction : unknown\n");
   }
+
   owl_fmtext_append_normal(&fm, "Time      : ");
   owl_fmtext_append_normal(&fm, owl_message_get_timestr(m));
   owl_fmtext_append_normal(&fm, "\n");
 
-  owl_fmtext_append_normal(&fm, "Sender    : ");
-  owl_fmtext_append_normal(&fm, owl_message_get_sender(m));
-  owl_fmtext_append_normal(&fm, "\n");
-
-  owl_fmtext_append_normal(&fm, "Recipient : ");
-  owl_fmtext_append_normal(&fm, owl_message_get_recipient(m));
-  owl_fmtext_append_normal(&fm, "\n");
-
-
+  if (!owl_message_is_type_admin(m)) {
+    owl_fmtext_append_normal(&fm, "Sender    : ");
+    owl_fmtext_append_normal(&fm, owl_message_get_sender(m));
+    owl_fmtext_append_normal(&fm, "\n");
+    
+    owl_fmtext_append_normal(&fm, "Recipient : ");
+    owl_fmtext_append_normal(&fm, owl_message_get_recipient(m));
+    owl_fmtext_append_normal(&fm, "\n");
+  }
+    
   if (owl_message_is_type_zephyr(m)) {
     owl_fmtext_append_bold(&fm, "  Zephyr Specific Info\n");
     
+    owl_fmtext_append_normal(&fm, "Class     : ");
+    owl_fmtext_append_normal(&fm, owl_message_get_class(m));
+    owl_fmtext_append_normal(&fm, "\n");
+    owl_fmtext_append_normal(&fm, "Instance  : ");
+    owl_fmtext_append_normal(&fm, owl_message_get_instance(m));
+    owl_fmtext_append_normal(&fm, "\n");
+    owl_fmtext_append_normal(&fm, "Opcode    : ");
+    owl_fmtext_append_normal(&fm, owl_message_get_opcode(m));
+    owl_fmtext_append_normal(&fm, "\n");
+    
+    owl_fmtext_append_normal(&fm, "Time      : ");
+    owl_fmtext_append_normal(&fm, owl_message_get_timestr(m));
+    owl_fmtext_append_normal(&fm, "\n");
+
     if (owl_message_is_direction_in(m)) {
       n=owl_message_get_notice(m);
-      owl_fmtext_append_normal(&fm, "Class     : ");
-      owl_fmtext_append_normal(&fm, owl_message_get_class(m));
-      owl_fmtext_append_normal(&fm, "\n");
-      owl_fmtext_append_normal(&fm, "Instance  : ");
-      owl_fmtext_append_normal(&fm, owl_message_get_instance(m));
-      owl_fmtext_append_normal(&fm, "\n");
-      owl_fmtext_append_normal(&fm, "Opcode    : ");
-      owl_fmtext_append_normal(&fm, owl_message_get_opcode(m));
-      owl_fmtext_append_normal(&fm, "\n");
+
       owl_fmtext_append_normal(&fm, "Kind      : ");
       if (n->z_kind==UNSAFE) {
@@ -1294,8 +1296,4 @@
 	owl_fmtext_append_normal(&fm, "ILLEGAL VALUE\n");
       }
-
-      owl_fmtext_append_normal(&fm, "Time      : ");
-      owl_fmtext_append_normal(&fm, owl_message_get_timestr(m));
-      owl_fmtext_append_normal(&fm, "\n");
       owl_fmtext_append_normal(&fm, "Host      : ");
       owl_fmtext_append_normal(&fm, owl_message_get_hostname(m));
@@ -1355,5 +1353,5 @@
 
   if (owl_message_is_type_aim(m)) {
-
+    owl_fmtext_append_bold(&fm, "  AIM Specific Info\n");    
   }
   
Index: message.c
===================================================================
--- message.c	(revision 0ff8fb572754799e77ac2cf2d386b7699f995257)
+++ message.c	(revision df0d93ab052f98d5b33d143b414f633faff6626c)
@@ -242,4 +242,17 @@
   return(0);
 }
+
+char *owl_message_type_to_string(owl_message *m)
+{
+  if (m->type==OWL_MESSAGE_TYPE_ADMIN) return("admin");
+  if (m->type==OWL_MESSAGE_TYPE_GENERIC) return("generic");
+  if (m->type==OWL_MESSAGE_TYPE_ZEPHYR) return("zephyr");
+  if (m->type==OWL_MESSAGE_TYPE_AIM) return("aim");
+  if (m->type==OWL_MESSAGE_TYPE_JABBER) return("jabber");
+  if (m->type==OWL_MESSAGE_TYPE_ICQ) return("icq");
+  if (m->type==OWL_MESSAGE_TYPE_MSN) return("msn");
+  return("unknown");
+}
+
 
 char *owl_message_get_text(owl_message *m)
Index: owl_prototypes.h
===================================================================
--- owl_prototypes.h	(revision 31e48a31baadb6973aeafc691fec373040f39690)
+++ owl_prototypes.h	(revision df0d93ab052f98d5b33d143b414f633faff6626c)
@@ -582,4 +582,5 @@
 extern int owl_message_is_type_aim(owl_message *m);
 extern int owl_message_is_type_generic(owl_message *m);
+extern char *owl_message_type_to_string(owl_message *m);
 extern char *owl_message_get_text(owl_message *m);
 extern void owl_message_set_direction_in(owl_message *m);
