--- a/zebra/connected.c
+++ b/zebra/connected.c
@@ -191,6 +191,9 @@ connected_up_ipv4 (struct interface *ifp
   rib_add_ipv4 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, NULL, ifp->ifindex,
 	RT_TABLE_MAIN, ifp->metric, 0, SAFI_UNICAST);
 
+  rib_add_ipv4 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, NULL, ifp->ifindex,
+	RT_TABLE_MAIN, ifp->metric, 0, SAFI_MULTICAST);
+
   rib_update ();
 }
 
@@ -297,6 +300,8 @@ connected_down_ipv4 (struct interface *i
   /* Same logic as for connected_up_ipv4(): push the changes into the head. */
   rib_delete_ipv4 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, ifp->ifindex, 0, SAFI_UNICAST);
 
+  rib_delete_ipv4 (ZEBRA_ROUTE_CONNECT, 0, &p, NULL, ifp->ifindex, 0, SAFI_MULTICAST);
+
   rib_update ();
 }