diff --git a/profiles/health/mcap.c b/profiles/health/mcap.c
index 7eceaa8..2e4214a 100644
--- a/profiles/health/mcap.c
+++ b/profiles/health/mcap.c
case MCAP_MD_CREATE_MDL_REQ:
st = MDL_WAITING;
l = g_slist_find_custom(mcl->mdls, &st, cmp_mdl_state);
+ if (!l)
+ return;
+
mdl = l->data;
mcl->mdls = g_slist_remove(mcl->mdls, mdl);
mcap_mdl_unref(mdl);
case MCAP_MD_ABORT_MDL_REQ:
st = MDL_WAITING;
l = g_slist_find_custom(mcl->mdls, &st, cmp_mdl_state);
+ if (!l)
+ return;
+
shutdown_mdl(l->data);
update_mcl_state(mcl);
con->cb.notify(err, con->user_data);
case MCAP_MD_RECONNECT_MDL_REQ:
st = MDL_WAITING;
l = g_slist_find_custom(mcl->mdls, &st, cmp_mdl_state);
+ if (!l)
+ return;
+
shutdown_mdl(l->data);
update_mcl_state(mcl);
con->cb.op(NULL, err, con->user_data);