* Dual-mode controllers shall operate with the public
                 * address as its identity address for BR/EDR and LE. So
                 * reject the attempt to create an invalid configuration.
+                *
+                * The same restrictions applies when secure connections
+                * has been enabled. For BR/EDR this is a controller feature
+                * while for LE it is a host stack feature. This means that
+                * switching BR/EDR back on when secure connections has been
+                * enabled is not a supported transaction.
                 */
                if (!test_bit(HCI_BREDR_ENABLED, &hdev->dev_flags) &&
-                   bacmp(&hdev->static_addr, BDADDR_ANY)) {
+                   (bacmp(&hdev->static_addr, BDADDR_ANY) ||
+                    test_bit(HCI_SC_ENABLED, &hdev->dev_flags))) {
                        err = cmd_status(sk, hdev->id, MGMT_OP_SET_BREDR,
                                         MGMT_STATUS_REJECTED);
                        goto unlock;