diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java
index 06f1574..6b6dfa5 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSecurityGroupHandler.java
@@ -704,7 +704,7 @@
         }
 
         log.info("Reset security group info " +
-                (useSecurityGroup ? " with " : " without") + " Security Group");
+                (getUseSecurityGroupFlag() ? " with " : " without") + " Security Group");
     }
 
     private void securityGroupRuleAdded(SecurityGroupRule sgRule) {
@@ -821,7 +821,7 @@
 
         @Override
         public boolean isRelevant(InstancePortEvent event) {
-            return useSecurityGroup;
+            return getUseSecurityGroupFlag();
         }
 
         private boolean isRelevantHelper(InstancePortEvent event) {
@@ -966,7 +966,7 @@
                 return false;
             }
 
-            return useSecurityGroup;
+            return getUseSecurityGroupFlag();
         }
 
         private boolean isRelevantHelper(OpenstackNetworkEvent event) {
@@ -1006,7 +1006,7 @@
                 return false;
             }
 
-            return useSecurityGroup;
+            return getUseSecurityGroupFlag();
         }
 
         private boolean isRelevantHelper(OpenstackNetworkEvent event) {
@@ -1076,7 +1076,7 @@
 
         @Override
         public boolean isRelevant(OpenstackSecurityGroupEvent event) {
-            return useSecurityGroup;
+            return getUseSecurityGroupFlag();
         }
 
         private boolean isRelevantHelper() {
@@ -1177,7 +1177,7 @@
             }
 
             log.info("Reset security group info " +
-                    (useSecurityGroup ? " with " : " without") + " Security Group");
+                    (getUseSecurityGroupFlag() ? " with " : " without") + " Security Group");
         }
     }
 }
