diff --git a/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java b/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java
index 2517510..b486090 100644
--- a/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java
+++ b/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackNetworkManager.java
@@ -189,7 +189,7 @@
         checkArgument(!Strings.isNullOrEmpty(osPort.getNetworkId()), ERR_NULL_PORT_NET_ID);
 
         osNetworkStore.updatePort(osPort);
-        log.info(String.format(MSG_SUBNET, osPort.getId(), MSG_UPDATED));
+        log.info(String.format(MSG_PORT, osPort.getId(), MSG_UPDATED));
     }
 
     @Override
@@ -202,7 +202,7 @@
             }
             Port osPort = osNetworkStore.removePort(portId);
             if (osPort != null) {
-                log.info(String.format(MSG_SUBNET, osPort.getId(), MSG_REMOVED));
+                log.info(String.format(MSG_PORT, osPort.getId(), MSG_REMOVED));
             }
         }
     }
diff --git a/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHostProvider.java b/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHostProvider.java
index fe07b9d..8ed5785 100644
--- a/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHostProvider.java
+++ b/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingHostProvider.java
@@ -239,6 +239,13 @@
                         processPortAdded(event.port());
                     });
                     break;
+                case PORT_REMOVED:
+                    deviceEventExecutor.execute(() -> {
+                        log.debug("Instance port {} is removed from {}",
+                                event.port().annotations().value(PORT_NAME),
+                                event.subject().id());
+                        processPortRemoved(event.port());
+                    });
                 default:
                     break;
             }
