* Only those in BT_CONFIG or BT_CONNECTED states can be
         * considered connected.
         */
-       if (conn &&
-           (conn->state == BT_CONFIG || conn->state == BT_CONNECTED) &&
-           !test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
+       if (conn && (conn->state == BT_CONFIG || conn->state == BT_CONNECTED))
                mgmt_device_connected(hdev, conn, name, name_len);
 
        if (discov->state == DISCOVERY_STOPPED)
                bacpy(&cp.bdaddr, &conn->dst);
                cp.pscan_rep_mode = 0x02;
                hci_send_cmd(hdev, HCI_OP_REMOTE_NAME_REQ, sizeof(cp), &cp);
-       } else if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
+       } else {
                mgmt_device_connected(hdev, conn, NULL, 0);
+       }
 
        if (!hci_outgoing_auth_needed(hdev, conn)) {
                conn->state = BT_CONNECTED;
                 * last.
                 */
                hci_connect_cfm(conn, rp->status);
+
+               /* Notify device connected in case it is a BIG Sync */
+               if (!rp->status && test_bit(HCI_CONN_BIG_SYNC, &conn->flags))
+                       mgmt_device_connected(hdev, conn, NULL, 0);
+
                break;
        }
 
                bacpy(&cp.bdaddr, &conn->dst);
                cp.pscan_rep_mode = 0x02;
                hci_send_cmd(hdev, HCI_OP_REMOTE_NAME_REQ, sizeof(cp), &cp);
-       } else if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
+       } else {
                mgmt_device_connected(hdev, conn, NULL, 0);
+       }
 
        if (!hci_outgoing_auth_needed(hdev, conn)) {
                conn->state = BT_CONNECTED;
                goto unlock;
        }
 
-       if (!test_and_set_bit(HCI_CONN_MGMT_CONNECTED, &conn->flags))
-               mgmt_device_connected(hdev, conn, NULL, 0);
+       mgmt_device_connected(hdev, conn, NULL, 0);
 
        conn->sec_level = BT_SECURITY_LOW;
        conn->state = BT_CONFIG;
        /* Notify iso layer */
        hci_connect_cfm(pa_sync, 0x00);
 
+       /* Notify MGMT layer */
+       mgmt_device_connected(hdev, pa_sync, NULL, 0);
+
 unlock:
        hci_dev_unlock(hdev);
 }