diff --git a/aeron-cluster/src/main/java/io/aeron/cluster/service/ClusteredServiceAgent.java b/aeron-cluster/src/main/java/io/aeron/cluster/service/ClusteredServiceAgent.java
index <HASH>..<HASH> 100644
--- a/aeron-cluster/src/main/java/io/aeron/cluster/service/ClusteredServiceAgent.java
+++ b/aeron-cluster/src/main/java/io/aeron/cluster/service/ClusteredServiceAgent.java
@@ -438,10 +438,9 @@ class ClusteredServiceAgent implements Agent, Cluster, ServiceControlListener
                 final Image image = awaitImage(activeLog.sessionId, subscription);
                 serviceControlPublisher.ackAction(termBaseLogPosition, leadershipTermId, serviceId, READY);
 
-                final ReadableCounter limit = new ReadableCounter(counters, counterId);
-
-                logAdapter = new BoundedLogAdapter(image, limit, this);
+                logAdapter = new BoundedLogAdapter(image, new ReadableCounter(counters, counterId), this);
                 activeLog = null;
+                role(Role.get((int)roleCounter.get()));
             }
         }
     }
[Java] Update role in service when active log is switched.