diff --git a/apps/vrouter/pom.xml b/apps/vrouter/pom.xml
index 09b7760..99c0f73 100644
--- a/apps/vrouter/pom.xml
+++ b/apps/vrouter/pom.xml
@@ -33,38 +33,13 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onos-api</artifactId>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
         </dependency>
-
-        <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onlab-osgi</artifactId>
-        </dependency>
-
         <dependency>
             <groupId>org.onosproject</groupId>
             <artifactId>onos-incubator-api</artifactId>
         </dependency>
-
-        <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onlab-junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onos-api</artifactId>
-            <scope>test</scope>
-            <classifier>tests</classifier>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.scr.annotations</artifactId>
-            <scope>provided</scope>
-        </dependency>
     </dependencies>
 
 </project>
diff --git a/apps/vrouter/src/main/java/org/onosproject/vrouter/Vrouter.java b/apps/vrouter/src/main/java/org/onosproject/vrouter/Vrouter.java
index afdea06..a02c3f6 100644
--- a/apps/vrouter/src/main/java/org/onosproject/vrouter/Vrouter.java
+++ b/apps/vrouter/src/main/java/org/onosproject/vrouter/Vrouter.java
@@ -65,9 +65,9 @@
      * It should be turned off when vRouter is deployed in a scenario where
      * other components that pushes the routes.
      */
-    @Property(boolValue = true,
+    @Property(name = "fibInstallerEnabled", boolValue = true,
             label = "Enable single switch fib installer; default is true")
-    private static final String FIB_INSTALLED_ENABLED = "fibInstalledEnabled";
+    private boolean fibInstallerEnabled = true;
 
     private ApplicationId appId;
 
@@ -104,8 +104,15 @@
             return;
         }
 
-        boolean fibInstallerEnabled = Boolean.parseBoolean(Tools.get(properties, FIB_INSTALLED_ENABLED));
-        log.info("fibInstallerEnabled set to {}", fibInstallerEnabled);
+        Boolean newFibInstallerEnabled = Tools.isPropertyEnabled(properties, "fibInstalledEnabled");
+        if (newFibInstallerEnabled == null) {
+            log.info("fibInstallerEnabled is not configured, " +
+                    "using current value of {}", fibInstallerEnabled);
+        } else {
+            fibInstallerEnabled = newFibInstallerEnabled;
+            log.info("Configured. fibInstallerEnabled set to {}, ",
+                    fibInstallerEnabled ? "enabled" : "disabled");
+        }
 
         if (fibInstallerEnabled) {
             componentService.activate(appId, FIB_INSTALLER);
