if (!data)
                return 0x00;
 
-       /* When Secure Connections Only mode is enabled, then the P-256
-        * values are required. If they are not available, then do not
-        * declare that OOB data is present.
-        */
-       if (bredr_sc_enabled(hdev) &&
-           test_bit(HCI_SC_ONLY, &hdev->dev_flags) &&
-           (!memcmp(data->rand256, ZERO_KEY, 16) ||
-            !memcmp(data->hash256, ZERO_KEY, 16)))
-               return 0x00;
-
        if (conn->out || test_bit(HCI_CONN_REMOTE_OOB, &conn->flags)) {
-               /* When Secure Connections has been enabled, then just
-                * return the present value stored with the OOB data. It
-                * will contain the right information about which data
-                * is present.
-                */
-               if (bredr_sc_enabled(hdev))
-                       return data->present;
+               if (bredr_sc_enabled(hdev)) {
+                       /* When Secure Connections is enabled, then just
+                        * return the present value stored with the OOB
+                        * data. The stored value contains the right present
+                        * information. However it can only be trusted when
+                        * not in Secure Connection Only mode.
+                        */
+                       if (!test_bit(HCI_SC_ONLY, &hdev->dev_flags))
+                               return data->present;
+
+                       /* When Secure Connections Only mode is enabled, then
+                        * the P-256 values are required. If they are not
+                        * available, then do not declare that OOB data is
+                        * present.
+                        */
+                       if (!memcmp(data->rand256, ZERO_KEY, 16) ||
+                           !memcmp(data->hash256, ZERO_KEY, 16))
+                               return 0x00;
+
+                       return 0x02;
+               }
 
                /* When Secure Connections is not enabled or actually
                 * not supported by the hardware, then check that if