diff --git a/src/adapter.c b/src/adapter.c
index 5d4117a..e55fb7f 100644
--- a/src/adapter.c
+++ b/src/adapter.c
mgmt_request_func_t func, void *user_data)
{
struct mgmt_cp_set_device_flags cp;
+ uint32_t current = btd_device_get_current_flags(device);
uint32_t supported = btd_device_get_supported_flags(device);
uint32_t pending = btd_device_get_pending_flags(device);
const bdaddr_t *bdaddr;
return;
/* Check if changing flags are pending */
- if (flags == (flags & pending))
+ if ((current ^ flags) == (flags & pending))
return;
/* Set Device Privacy Mode if it has not set the flag yet. */