diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c
index 0470c5b..8f7fc0a 100644
--- a/isisd/isis_lsp.c
+++ b/isisd/isis_lsp.c
@@ -581,12 +581,7 @@
   struct isis_lsp *lsp;
 
   lsp = XCALLOC (MTYPE_ISIS_LSP, sizeof (struct isis_lsp));
-  if (!lsp)
-    {
-      /* FIXME: set lspdbol bit */
-      zlog_warn ("lsp_new(): out of memory");
-      return NULL;
-    }
+
   /* FIXME: Should be minimal mtu? */
   lsp->pdu = stream_new (1500);
   if (LSP_FRAGMENT (lsp_id) == 0)
diff --git a/isisd/isis_route.c b/isisd/isis_route.c
index 8ab470c..0348a79 100644
--- a/isisd/isis_route.c
+++ b/isisd/isis_route.c
@@ -67,10 +67,6 @@
     }
 
   nexthop = XCALLOC (MTYPE_ISIS_NEXTHOP, sizeof (struct isis_nexthop));
-  if (!nexthop)
-    {
-      zlog_err ("ISIS-Rte: isis_nexthop_create: out of memory!");
-    }
 
   nexthop->ifindex = ifindex;
   memcpy (&nexthop->ip, ip, sizeof (struct in_addr));
@@ -139,10 +135,6 @@
   struct isis_nexthop6 *nexthop6;
 
   nexthop6 = XCALLOC (MTYPE_ISIS_NEXTHOP6, sizeof (struct isis_nexthop6));
-  if (!nexthop6)
-    {
-      zlog_err ("ISIS-Rte: isis_nexthop_create6: out of memory!");
-    }
 
   nexthop6->ifindex = ifindex;
   memcpy (&nexthop6->ip6, ip6, sizeof (struct in6_addr));
@@ -284,11 +276,6 @@
   struct listnode *node;
 
   rinfo = XCALLOC (MTYPE_ISIS_ROUTE_INFO, sizeof (struct isis_route_info));
-  if (!rinfo)
-    {
-      zlog_err ("ISIS-Rte: isis_route_info_new: out of memory!");
-      return NULL;
-    }
 
   if (prefix->family == AF_INET)
     {
@@ -424,12 +411,6 @@
   prefix2str (prefix, (char *) buff, BUFSIZ);
 
   rinfo_new = isis_route_info_new (prefix, cost, depth, adjacencies);
-  if (!rinfo_new)
-    {
-      zlog_err ("ISIS-Rte (%s): isis_route_create: out of memory!",
-		area->area_tag);
-      return NULL;
-    }
 
   if (family == AF_INET)
     route_node = route_node_get (area->route_table[level - 1], prefix);
diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c
index 28525ce..0657c1c 100644
--- a/isisd/isis_spf.c
+++ b/isisd/isis_spf.c
@@ -189,11 +189,6 @@
   struct isis_vertex *vertex;
 
   vertex = XCALLOC (MTYPE_ISIS_VERTEX, sizeof (struct isis_vertex));
-  if (vertex == NULL)
-    {
-      zlog_err ("isis_vertex_new Out of memory!");
-      return NULL;
-    }
 
   vertex->type = vtype;
   switch (vtype)
