diff --git a/src/main/java/org/onosproject/cordvtn/CordVtn.java b/src/main/java/org/onosproject/cordvtn/CordVtn.java
index 19c9e7d..1dc094b 100644
--- a/src/main/java/org/onosproject/cordvtn/CordVtn.java
+++ b/src/main/java/org/onosproject/cordvtn/CordVtn.java
@@ -403,7 +403,13 @@
                  host.ipAddresses().stream().findFirst().get());
 
         CordService service = getCordService(vNet);
-        if (service != null) {
+        if (service == null) {
+            return;
+        }
+
+        if (service.serviceType().equals(CordService.ServiceType.MANAGEMENT)) {
+            ruleInstaller.populateManagementNetworkRules(host, service);
+        } else {
             // TODO check if the service needs an update on its group buckets after done CORD-433
             ruleInstaller.updateServiceGroup(service);
             arpProxy.addServiceIp(service.serviceIp());
@@ -440,7 +446,13 @@
         ruleInstaller.removeBasicConnectionRules(host);
 
         CordService service = getCordService(vNet);
-        if (service != null) {
+        if (service == null) {
+            return;
+        }
+
+        if (service.serviceType().equals(CordService.ServiceType.MANAGEMENT)) {
+            ruleInstaller.removeManagementNetworkRules(host, service);
+        } else {
             // TODO check if the service needs an update on its group buckets after done CORD-433
             ruleInstaller.updateServiceGroup(service);
 
