diff --git a/ospfd/ospf_abr.c b/ospfd/ospf_abr.c
index 2d47efe..8f365da 100644
--- a/ospfd/ospf_abr.c
+++ b/ospfd/ospf_abr.c
@@ -748,6 +748,19 @@
                        "refreshing summary");
           set_metric (old, cost);
           lsa = ospf_summary_lsa_refresh (area->ospf, old);
+          
+          if (!lsa)
+            {
+	      char buf[INET_ADDRSTRLEN + 3]; /* ipv4 and /XX */
+	      
+	      prefix2str ((struct prefix *) p, buf, sizeof(buf));
+	      zlog_warn ("%s: Could not refresh %s to %s",
+	                 __func__,
+	                 buf,
+	                 inet_ntoa (area->area_id));
+	      return;
+	    }
+	  
           SET_FLAG (lsa->flags, OSPF_LSA_APPROVED);
           /* This will flood through area. */
         }
@@ -760,6 +773,18 @@
       lsa = ospf_summary_lsa_originate ( (struct prefix_ipv4 *)p, cost, area);
           /* This will flood through area. */
       
+      if (!lsa)
+      	{
+      	  char buf[INET_ADDRSTRLEN + 3]; /* ipv4 and /XX */
+      	  
+      	  prefix2str ((struct prefix *)p, buf, sizeof(buf));
+	  zlog_warn ("%s: Could not originate %s to %s",
+	             __func__,
+	             buf,
+		     inet_ntoa (area->area_id));
+	  return;
+	}
+      
       SET_FLAG (lsa->flags, OSPF_LSA_APPROVED);
       if (IS_DEBUG_OSPF_EVENT)
         zlog_debug ("ospf_abr_announce_network_to_area(): "
@@ -1117,10 +1142,22 @@
 	}
       else
 	lsa = ospf_summary_asbr_lsa_originate (p, cost, area);
-
+      if (!lsa)
+        {
+          char buf[INET_ADDRSTRLEN + 3]; /* ipv4 and /XX */
+          
+          prefix2str ((struct prefix *)p, buf, sizeof(buf));
+          zlog_warn ("%s: Could not refresh/originate %s to %s",
+                     __func__,
+                     buf,
+                     inet_ntoa (area->area_id));
+          return;
+        }
+      
       if (IS_DEBUG_OSPF_EVENT)
 	zlog_debug ("ospf_abr_announce_rtr_to_area(): "
 		   "flooding new version of summary");
+
       /*
       zlog_info ("ospf_abr_announce_rtr_to_area(): creating new summary");
       lsa = ospf_summary_asbr_lsa (p, cost, area, old); */
