--- a/bgpd/bgp_packet.c
+++ b/bgpd/bgp_packet.c
@@ -177,10 +177,11 @@ bgp_update_packet (struct peer *peer, afi_t afi, safi_t safi)
 	  
 	  if (rn->prn)
 	    prd = (struct prefix_rd *) &rn->prn->p;
-          if (binfo && binfo->extra)
+          if (binfo)
             {
-              tag = binfo->extra->tag;
               from = binfo->peer;
+              if (binfo->extra)
+                tag = binfo->extra->tag;
             }
           
 	  bgp_packet_set_marker (s, BGP_MSG_UPDATE);