diff --git a/ospf6d/ospf6_lsa.c b/ospf6d/ospf6_lsa.c
index 6cc6f4d..da73279 100644
--- a/ospf6d/ospf6_lsa.c
+++ b/ospf6d/ospf6_lsa.c
@@ -51,8 +51,8 @@
   u_char *start, *end, *current;
   char byte[4];
 
-  start = (char *) lsa->header + sizeof (struct ospf6_lsa_header);
-  end = (char *) lsa->header + ntohs (lsa->header->length);
+  start = (u_char *) lsa->header + sizeof (struct ospf6_lsa_header);
+  end = (u_char *) lsa->header + ntohs (lsa->header->length);
 
   vty_out (vty, "        Unknown contents:%s", VNL);
   for (current = start; current < end; current ++)
@@ -366,8 +366,8 @@
   u_char *start, *end, *current;
   char byte[4];
 
-  start = (char *) lsa->header;
-  end = (char *) lsa->header + ntohs (lsa->header->length);
+  start = (u_char *) lsa->header;
+  end = (u_char *) lsa->header + ntohs (lsa->header->length);
 
   vty_out (vty, "%s", VNL);
   vty_out (vty, "%s:%s", lsa->name, VNL);
@@ -670,7 +670,7 @@
 
   lsa_header->checksum = 0;
   length = ntohs (lsa_header->length) - 2;
-  sp = (char *) &lsa_header->type;
+  sp = (u_char *) &lsa_header->type;
 
   for (ep = sp + length; sp < ep; sp = q)
     {
