diff --git a/src/device.c b/src/device.c
index f76c1ec..6a6c379 100644
--- a/src/device.c
+++ b/src/device.c
struct btd_device *dev = user_data;
uint8_t bdaddr_type;
+ if (dev->bonding)
+ return btd_error_in_progress(msg);
+
if (dev->bredr_state.connected) {
/*
* Check if services have been resolved and there is at least
if (bdaddr_type != BDADDR_BREDR) {
int err;
+ if (dev->connect)
+ return btd_error_in_progress(msg);
+
if (dev->le_state.connected)
return dbus_message_new_method_return(msg);
if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_INVALID))
return btd_error_invalid_args(msg);
- if (device->bonding)
+ if (device->bonding || device->connect)
return btd_error_in_progress(msg);
/* Only use this selection algorithms when device is combo