diff --git a/sys/netinet6/mld6.c b/sys/netinet6/mld6.c
index 33b8d89..1c2e0b8 100644
--- a/sys/netinet6/mld6.c
+++ b/sys/netinet6/mld6.c
@@ -741,6 +741,7 @@ in6_delmulti(struct in6_multi *in6m)
*/
sockaddr_in6_init(&sin6, &in6m->in6m_addr, 0, 0, 0);
if_mcast_op(in6m->in6m_ifp, SIOCDELMULTI, sin6tosa(&sin6));
+ callout_halt(&in6m->in6m_timer_ch, softnet_lock);
callout_destroy(&in6m->in6m_timer_ch);
free(in6m, M_IPMADDR);
}