diff --git a/doc/ospfd.texi b/doc/ospfd.texi
index 6163ea9..2c24a21 100644
--- a/doc/ospfd.texi
+++ b/doc/ospfd.texi
@@ -67,11 +67,12 @@
 
 @deffn {OSPF Command} {ospf rfc1583compatibility} {}
 @deffnx {OSPF Command} {no ospf rfc1583compatibility} {}
-This rfc2328, the sucessor to rfc1583, suggests according to section G.2
-(changes) in section 16.4 a change to the path preference algorithm that
-prevents possible routing loops that were possible in the old version of
-OSPFv2. More specificly it demands that inter-area paths and intra-area path
-are now of equal preference but still both preferred to external paths.
+This rfc2328, the sucessor to rfc1583, suggests according to section 
+G.2 (changes) in section 16.4 a change to the path preference
+algorithm that prevents possible routing loops that were possible in
+the old version of OSPFv2. More specifically it demands that inter-area
+paths and intra-area path are now of equal preference but still both
+preferred to external paths.
 @end deffn
 
 @deffn {OSPF Command} {passive interface @var{interface}} {}
diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c
index 9a9942f..0a48bab 100644
--- a/ospfd/ospf_lsa.c
+++ b/ospfd/ospf_lsa.c
@@ -2617,6 +2617,8 @@
         switch (lsa->data->type)
           {
 #ifdef HAVE_OPAQUE_LSA
+          case OSPF_OPAQUE_LINK_LSA:
+          case OSPF_OPAQUE_AREA_LSA:
           case OSPF_OPAQUE_AS_LSA:
           case OSPF_OPAQUE_LINK_LSA:
           case OSPF_OPAQUE_AREA_LSA:
diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c
index 4a3b5e1..0b9e60f 100644
--- a/ospfd/ospf_packet.c
+++ b/ospfd/ospf_packet.c
@@ -226,10 +226,9 @@
 {
   struct ospf_packet *new;
 
-  if (stream_get_endp(op->s) != op->length) {
-    zlog_warn ("ospf_packet_dup stream %d ospf_packet %d size mismatch",
+  if (stream_get_endp(op->s) != op->length)
+    zlog_warn ("ospf_packet_dup stream %ld ospf_packet %d size mismatch",
 	       STREAM_SIZE(op->s), op->length);
-  }
 
   /* Reserve space for MD5 authentication that may be added later. */
   new = ospf_packet_new (stream_get_endp(op->s) + OSPF_AUTH_MD5_SIZE);
@@ -367,10 +366,8 @@
   /* We do *NOT* increment the OSPF header length. */
   op->length = ntohs (ospfh->length) + OSPF_AUTH_MD5_SIZE;
 
-  if (stream_get_endp(op->s) != op->length) {
-    zlog_warn("ospf_make_md5_digest: length mismatch stream %d ospf_packet %d",
-	      stream_get_endp(op->s), op->length);
-  }
+  if (stream_get_endp(op->s) != op->length)
+    zlog_warn("ospf_make_md5_digest: length mismatch stream %ld ospf_packet %d", stream_get_endp(op->s), op->length);
 
   return OSPF_AUTH_MD5_SIZE;
 }
