diff --git a/src/gatt-database.c b/src/gatt-database.c
index 783b692..ec584fc 100644
--- a/src/gatt-database.c
+++ b/src/gatt-database.c
void btd_gatt_database_att_disconnected(struct btd_gatt_database *database,
struct btd_device *device)
{
+ struct bt_gatt_server *server = btd_device_get_gatt_server(device);
+ struct bt_att *att = bt_gatt_server_get_att(server);
struct device_state *state;
const bdaddr_t *addr;
uint8_t type;
if (!state)
return;
+ if (state->disc_id)
+ bt_att_unregister_disconnect(att, state->disc_id);
+
att_disconnected(0, state);
}