diff --git a/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/DefaultResolvedRouteStore.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/DefaultResolvedRouteStore.java
index 4981932..725a7a9 100644
--- a/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/DefaultResolvedRouteStore.java
+++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/DefaultResolvedRouteStore.java
@@ -143,7 +143,7 @@
                                 immutableAlternatives);
                     } else {
                         return new RouteEvent(RouteEvent.Type.ROUTE_UPDATED, route,
-                                oldRoute, immutableAlternatives);
+                                oldRoute, immutableAlternatives, oldRoutes);
                     }
                 }
 
@@ -185,11 +185,11 @@
                 String key = createBinaryString(prefix);
 
                 ResolvedRoute route = routeTable.getValueForExactKey(key);
-                alternativeRoutes.remove(prefix);
+                Set<ResolvedRoute> alternatives = alternativeRoutes.remove(prefix);
 
                 if (route != null) {
                     routeTable.remove(key);
-                    return new RouteEvent(RouteEvent.Type.ROUTE_REMOVED, route);
+                    return new RouteEvent(RouteEvent.Type.ROUTE_REMOVED, route, alternatives);
                 }
                 return null;
             }
