diff --git a/bgpd/bgp_debug.c b/bgpd/bgp_debug.c
index e3e3ec8..726dd86 100644
--- a/bgpd/bgp_debug.c
+++ b/bgpd/bgp_debug.c
@@ -243,31 +243,37 @@
                  const char *direct)
 {
   const char *subcode_str;
+  const char *code_str;
 
   subcode_str = "";
+  code_str = LOOKUP_DEF (bgp_notify_msg, bgp_notify->code,
+                         "Unrecognized Error Code");
 
-  switch (bgp_notify->code) 
+  switch (bgp_notify->code)
     {
     case BGP_NOTIFY_HEADER_ERR:
-      subcode_str = LOOKUP (bgp_notify_head_msg, bgp_notify->subcode);
+      subcode_str = LOOKUP_DEF (bgp_notify_head_msg, bgp_notify->subcode,
+                                "Unrecognized Error Subcode");
       break;
     case BGP_NOTIFY_OPEN_ERR:
-      subcode_str = LOOKUP (bgp_notify_open_msg, bgp_notify->subcode);
+      subcode_str = LOOKUP_DEF (bgp_notify_open_msg, bgp_notify->subcode,
+                                "Unrecognized Error Subcode");
       break;
     case BGP_NOTIFY_UPDATE_ERR:
-      subcode_str = LOOKUP (bgp_notify_update_msg, bgp_notify->subcode);
+      subcode_str = LOOKUP_DEF (bgp_notify_update_msg, bgp_notify->subcode,
+                                "Unrecognized Error Subcode");
       break;
     case BGP_NOTIFY_HOLD_ERR:
-      subcode_str = "";
       break;
     case BGP_NOTIFY_FSM_ERR:
-      subcode_str = "";
       break;
     case BGP_NOTIFY_CEASE:
-      subcode_str = LOOKUP (bgp_notify_cease_msg, bgp_notify->subcode);
+      subcode_str = LOOKUP_DEF (bgp_notify_cease_msg, bgp_notify->subcode,
+                                "Unrecognized Error Subcode");
       break;
     case BGP_NOTIFY_CAPABILITY_ERR:
-      subcode_str = LOOKUP (bgp_notify_capability_msg, bgp_notify->subcode);
+      subcode_str = LOOKUP_DEF (bgp_notify_capability_msg, bgp_notify->subcode,
+                                "Unrecognized Error Subcode");
       break;
     }
 
@@ -275,15 +281,13 @@
     zlog_info ("%%NOTIFICATION: %s neighbor %s %d/%d (%s%s) %d bytes %s",
               strcmp (direct, "received") == 0 ? "received from" : "sent to",
               peer->host, bgp_notify->code, bgp_notify->subcode,
-               LOOKUP (bgp_notify_msg, bgp_notify->code),
-              subcode_str, bgp_notify->length,
+              code_str, subcode_str, bgp_notify->length,
               bgp_notify->data ? bgp_notify->data : "");
   else if (BGP_DEBUG (normal, NORMAL))
     plog_debug (peer->log, "%s %s NOTIFICATION %d/%d (%s%s) %d bytes %s",
 	       peer ? peer->host : "",
 	       direct, bgp_notify->code, bgp_notify->subcode,
-	       LOOKUP (bgp_notify_msg, bgp_notify->code),
-	       subcode_str, bgp_notify->length,
+	       code_str, subcode_str, bgp_notify->length,
 	       bgp_notify->data ? bgp_notify->data : "");
 }
 
diff --git a/lib/log.h b/lib/log.h
index 27f21b3..cf247a8 100644
--- a/lib/log.h
+++ b/lib/log.h
@@ -146,8 +146,9 @@
 /* Rotate log. */
 extern int zlog_rotate (struct zlog *);
 
-/* For hackey massage lookup and check */
-#define LOOKUP(x, y) mes_lookup(x, x ## _max, y, "(no item found)", #x)
+/* For hackey message lookup and check */
+#define LOOKUP_DEF(x, y, def) mes_lookup(x, x ## _max, y, def, #x)
+#define LOOKUP(x, y) LOOKUP_DEF(x, y, "(no item found)")
 
 extern const char *lookup (const struct message *, int);
 extern const char *mes_lookup (const struct message *meslist, 
