diff --git a/net/mac802154/llsec.c b/net/mac802154/llsec.c
index e4a25589ec19fbbf21688429be6ead557439e11b..1456f73b02b9f8ae92909d84ee408d0c6ca93987 100644
--- a/net/mac802154/llsec.c
+++ b/net/mac802154/llsec.c
@@ -285,6 +285,7 @@ int mac802154_llsec_key_del(struct mac802154_llsec *sec,
 		mkey = container_of(pos->key, struct mac802154_llsec_key, key);
 
 		if (llsec_key_id_equal(&pos->id, key)) {
+			list_del_rcu(&pos->list);
 			llsec_key_put(mkey);
 			return 0;
 		}