Index: /trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
===================================================================
--- /trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c	(revision 30923)
+++ /trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c	(revision 30924)
@@ -623,5 +623,5 @@
 #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) */
     PVBOXNETQDISCPRIV pPriv;
-    struct Qdisc *pQdisc;
+    struct Qdisc *pQdisc, *pChild;
     if (!pDev)
         pDev = ASMAtomicUoReadPtrT(&pThis->u.s.pDev, struct net_device *);
@@ -646,4 +646,6 @@
     Assert(pPriv->pVBoxNetFlt == pThis);
     ASMAtomicWriteNullPtr(&pPriv->pVBoxNetFlt);
+    pChild = ASMAtomicXchgPtrT(&pPriv->pChild, &noop_qdisc, struct Qdisc *);
+    qdisc_destroy(pChild); /* It won't be the last reference. */
 
     QDISC_LOG(("vboxNetFltLinuxQdiscRemove: refcnt=%d num_tx_queues=%d\n",
