diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c
index b02c41614f96e382fb9e0a569ecd4b41c940465b..abc2d804d5bf4b8df3f8a62469f6b0456da5d4fc 100644
--- a/sound/soc/soc-topology.c
+++ b/sound/soc/soc-topology.c
@@ -493,6 +493,8 @@ static void remove_widget(struct snd_soc_component *comp,
 free_news:
 	kfree(w->kcontrol_news);
 
+	list_del(&dobj->list);
+
 	/* widget w is freed by soc-dapm.c */
 }