diff --git a/src/adapter.c b/src/adapter.c
index 4e28c61..1a7d4eb 100644
--- a/src/adapter.c
+++ b/src/adapter.c
set_mode(adapter, MGMT_OP_SET_BREDR, 0x01);
break;
case BT_MODE_BREDR:
+ if (!(adapter->supported_settings & MGMT_SETTING_BREDR)) {
+ error("Ignoring adapter withouth BR/EDR support");
+ goto failed;
+ }
+
if (missing_settings & MGMT_SETTING_SSP)
set_mode(adapter, MGMT_OP_SET_SSP, 0x01);
if (missing_settings & MGMT_SETTING_BREDR)
set_mode(adapter, MGMT_OP_SET_LE, 0x00);
break;
case BT_MODE_LE:
+ if (!(adapter->supported_settings & MGMT_SETTING_LE)) {
+ error("Ignoring adapter withouth LE support");
+ goto failed;
+ }
+
if (missing_settings & MGMT_SETTING_LE)
set_mode(adapter, MGMT_OP_SET_LE, 0x01);
if (adapter->current_settings & MGMT_SETTING_BREDR)