diff --git a/cluster/router/chain/chain.go b/cluster/router/chain/chain.go
index 1c7d48aef99a13ab5dc63c7eb7ead533b1a3ac63..0ab2c781fbf593d4920008fa05ea6bca8f946cf9 100644
--- a/cluster/router/chain/chain.go
+++ b/cluster/router/chain/chain.go
@@ -249,10 +249,10 @@ func poolRouter(p router.Poolable, origin *InvokerCache, invokers []protocol.Inv
 	if isCacheMiss(origin, name) || p.ShouldPool() || isInvokersChanged(origin.invokers, invokers) {
 		logger.Debugf("build address cache for router %q", name)
 		return p.Pool(invokers)
-	} else {
-		logger.Debugf("reuse existing address cache for router %q", name)
-		return origin.pools[name], origin.metadatas[name]
 	}
+
+	logger.Debugf("reuse existing address cache for router %q", name)
+	return origin.pools[name], origin.metadatas[name]
 }
 
 // isCacheMiss checks if the corresponding cache entry for a poolable router has already existed.