diff --git a/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java b/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java
index 953f27c..b1e5150 100644
--- a/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java
@@ -95,7 +95,9 @@
     private void listComponentProperties(String component) {
         Set<ConfigProperty> props = service.getProperties(component);
         print("%s", component);
-        if (shortOnly) {
+        if (props == null) {
+            print("No properties for component " + component + " found");
+        } else if (shortOnly) {
             props.forEach(p -> print(SHORT_FMT, p.name(), p.value()));
         } else {
             props.forEach(p -> print(FMT, p.name(), p.type().toString().toLowerCase(),
@@ -108,7 +110,7 @@
         Optional<ConfigProperty> property = props.stream()
                 .filter(p -> p.name().equals(name)).findFirst();
         if (!property.isPresent()) {
-            System.err.println("Property " + name + " for component " + component + " not found");
+            print("Property " + name + " for component " + component + " not found");
             return;
         }
         ConfigProperty p = property.get();
diff --git a/core/net/src/main/java/org/onosproject/core/impl/CoreManager.java b/core/net/src/main/java/org/onosproject/core/impl/CoreManager.java
index 375de99..29c4579 100644
--- a/core/net/src/main/java/org/onosproject/core/impl/CoreManager.java
+++ b/core/net/src/main/java/org/onosproject/core/impl/CoreManager.java
@@ -64,9 +64,9 @@
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
     protected ComponentConfigService cfgService;
 
-    @Property(name = "sharedThreadPoolSize", intValue = SharedExecutors.DEFAULT_POOL_SIZE,
+    @Property(name = "sharedThreadPoolSize", intValue = 30,
             label = "Configure shared pool maximum size ")
-    private int sharedThreadPoolSize = SharedExecutors.DEFAULT_POOL_SIZE;
+    private int sharedThreadPoolSize = 30;
 
     @Activate
     public void activate() {
