diff --git a/tools/rootcanal/model/controller/link_layer_controller.cc b/tools/rootcanal/model/controller/link_layer_controller.cc
index 069713e160129f61ec48f557b3b27e9282db826a..c7cbe519724bee834905d2d3b44f2dd476fe6c2b 100644
--- a/tools/rootcanal/model/controller/link_layer_controller.cc
+++ b/tools/rootcanal/model/controller/link_layer_controller.cc
@@ -1685,9 +1685,10 @@ uint16_t LinkLayerController::HandleLeConnection(
     AddressType peer_address_type = address.GetAddressType();
     if (peer_resolved_address != AddressWithType()) {
       peer_resolvable_private_address = address.GetAddress();
-      if (address.GetAddressType() == AddressType::PUBLIC_DEVICE_ADDRESS) {
+      if (peer_resolved_address.GetAddressType() ==
+          AddressType::PUBLIC_DEVICE_ADDRESS) {
         peer_address_type = AddressType::PUBLIC_IDENTITY_ADDRESS;
-      } else if (address.GetAddressType() ==
+      } else if (peer_resolved_address.GetAddressType() ==
                  AddressType::RANDOM_DEVICE_ADDRESS) {
         peer_address_type = AddressType::RANDOM_IDENTITY_ADDRESS;
       } else {