diff --git a/emulator/bthost.c b/emulator/bthost.c
index 5476852..4f1598f 100644
--- a/emulator/bthost.c
+++ b/emulator/bthost.c
if (bthost->conn_init) {
ia = bthost->bdaddr;
- ia_type = addr_type;
- ra = conn->bdaddr;
- ra_type = conn->addr_type;
+ if (addr_type == BDADDR_BREDR)
+ ia_type = addr_type;
+ else
+ ia_type = BDADDR_LE_PUBLIC;
+ ra = bdaddr;
+ ra_type = addr_type;
} else {
- ia = conn->bdaddr;
- ia_type = conn->addr_type;
+ ia = bdaddr;
+ ia_type = addr_type;
ra = bthost->bdaddr;
- ra_type = addr_type;
+ if (addr_type == BDADDR_BREDR)
+ ra_type = addr_type;
+ else
+ ra_type = BDADDR_LE_PUBLIC;
}
conn->smp_data = smp_conn_add(bthost->smp_data, handle, ia, ia_type,