diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseManager.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseManager.java
index 9eed61a..b78f3ae 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseManager.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseManager.java
@@ -65,6 +65,8 @@
     private static final String PARTITION_DEFINITION_FILE = "tablets.json";
     private static final int DATABASE_STARTUP_TIMEOUT_SEC = 60;
 
+    private final PartitionedDatabaseConfig databaseConfig = new PartitionedDatabaseConfig();
+
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
     protected ClusterService clusterService;
 
@@ -114,8 +116,6 @@
             .withMembers(activeNodeUris)
             .withLocalMember(localNodeUri);
 
-        PartitionedDatabaseConfig databaseConfig = new PartitionedDatabaseConfig();
-
         partitionMap.forEach((name, nodes) -> {
             Set<String> replicas = nodes.stream().map(this::nodeToUri).collect(Collectors.toSet());
             DatabaseConfig partitionConfig = new DatabaseConfig()
@@ -181,7 +181,7 @@
         return partitionedDatabase.getRegisteredPartitions()
                 .values()
                 .stream()
-                .map(DatabaseManager::toPartitionInfo)
+                .map(db -> toPartitionInfo(db, databaseConfig.partitions().get(db.name())))
                 .collect(Collectors.toList());
     }
 
@@ -191,11 +191,12 @@
      * @param database database containing input data
      * @return PartitionInfo object
      */
-    private static PartitionInfo toPartitionInfo(Database database) {
+    private static PartitionInfo toPartitionInfo(Database database, DatabaseConfig dbConfig) {
         return new PartitionInfo(database.name(),
                           database.cluster().term(),
                           database.cluster().members().stream()
                                   .map(Member::uri)
+                                  .filter(uri -> dbConfig.getReplicas().contains(uri))
                                   .collect(Collectors.toList()),
                           database.cluster().leader() != null ?
                                   database.cluster().leader().uri() : null);
