diff --git a/src/bluetooth/osx/osxbtperipheralmanager.mm b/src/bluetooth/osx/osxbtperipheralmanager.mm
index 1998340af9f68bfd985c0e2cfe7fc08264e24654..39f9808c5cb3551a9c694a1aef65845126f0d2f9 100644
--- a/src/bluetooth/osx/osxbtperipheralmanager.mm
+++ b/src/bluetooth/osx/osxbtperipheralmanager.mm
@@ -340,7 +340,7 @@ bool qt_validate_value_range(const QLowEnergyCharacteristicData &data)
 - (void)startAdvertising
 {
     state = PeripheralState::waitingForPowerOn;
-    if (manager)
+    if (manager.data())
         [manager setDelegate:nil];
     manager.reset([[CBPeripheralManager alloc] initWithDelegate:self
                    queue:OSXBluetooth::qt_LE_queue()]);
@@ -405,7 +405,7 @@ bool qt_validate_value_range(const QLowEnergyCharacteristicData &data)
 
 - (void) addServicesToPeripheral
 {
-    Q_ASSERT(manager);
+    Q_ASSERT(manager.data());
 
     if (nextServiceToAdd < services.size())
         [manager addService:services[nextServiceToAdd++]];
diff --git a/src/bluetooth/qbluetoothdevicediscoveryagent_ios.mm b/src/bluetooth/qbluetoothdevicediscoveryagent_ios.mm
index c50d546da7df343bb28e3dba59c8b41e25235efa..557785b42c7a57100a6489e193d6d74000b0c88f 100644
--- a/src/bluetooth/qbluetoothdevicediscoveryagent_ios.mm
+++ b/src/bluetooth/qbluetoothdevicediscoveryagent_ios.mm
@@ -132,7 +132,7 @@ QBluetoothDeviceDiscoveryAgentPrivate::QBluetoothDeviceDiscoveryAgentPrivate(con
 
 QBluetoothDeviceDiscoveryAgentPrivate::~QBluetoothDeviceDiscoveryAgentPrivate()
 {
-    if (inquiryLE) {
+    if (inquiryLE.data()) {
         // We want the LE scan to stop as soon as possible.
         if (dispatch_queue_t leQueue = OSXBluetooth::qt_LE_queue()) {
             // Local variable to be retained ...
@@ -151,7 +151,7 @@ bool QBluetoothDeviceDiscoveryAgentPrivate::isActive() const
     if (stopPending)
         return false;
 
-    return inquiryLE;
+    return !!inquiryLE.data();
 }
 
 void QBluetoothDeviceDiscoveryAgentPrivate::start(QBluetoothDeviceDiscoveryAgent::DiscoveryMethods /*methods*/)
@@ -178,7 +178,7 @@ void QBluetoothDeviceDiscoveryAgentPrivate::start(QBluetoothDeviceDiscoveryAgent
                       this, &QBluetoothDeviceDiscoveryAgentPrivate::LEdeviceFound);
 
     inquiryLE.reset([[LEDeviceInquiryObjC alloc] initWithNotifier:notifier.data()]);
-    if (inquiryLE)
+    if (inquiryLE.data())
         notifier.take(); // Whatever happens next, inquiryLE is already the owner ...
 
     dispatch_queue_t leQueue(qt_LE_queue());
diff --git a/src/bluetooth/qlowenergycontroller_osx.mm b/src/bluetooth/qlowenergycontroller_osx.mm
index 8bcdc22e51489107307da934b611141c30369126..9aaee8556a3bd6e803a9a66c58cda37aba607cb7 100644
--- a/src/bluetooth/qlowenergycontroller_osx.mm
+++ b/src/bluetooth/qlowenergycontroller_osx.mm
@@ -165,7 +165,7 @@ QLowEnergyControllerPrivateOSX::QLowEnergyControllerPrivateOSX(QLowEnergyControl
 #endif
     } else {
         centralManager.reset([[ObjCCentralManager alloc] initWith:notifier.data()]);
-        if (!centralManager) {
+        if (!centralManager.data()) {
             qCWarning(QT_BT_OSX) << "failed to initialize central manager";
             return;
         }
@@ -200,9 +200,9 @@ QLowEnergyControllerPrivateOSX::~QLowEnergyControllerPrivateOSX()
 bool QLowEnergyControllerPrivateOSX::isValid() const
 {
 #ifdef Q_OS_TVOS
-    return centralManager;
+    return centralManager.data();
 #else
-    return centralManager || peripheralManager;
+    return centralManager.data() || peripheralManager.data();
 #endif
 }