
--- a/net/ipv4/netfilter/ip_conntrack_h323.c	2005-02-08 15:33:36.000000000 +0100
+++ b/net/ipv4/netfilter/ip_conntrack_h323.c	2005-02-08 15:33:51.000000000 +0100
@@ -300,6 +300,7 @@
 {
 	/* Unregister H.225 helper */	
 	ip_conntrack_helper_unregister(&h225);
+	ip_conntrack_helper_unregister(&h245);
 }
 
 EXPORT_SYMBOL(ip_h323_lock);
--- a/net/ipv4/netfilter/ip_conntrack_core.c	2005-02-08 15:01:02.000000000 +0100
+++ b/net/ipv4/netfilter/ip_conntrack_core.c	2005-02-08 15:32:10.000000000 +0100
@@ -1265,7 +1265,11 @@
 
 	/* Need write lock here, to delete helper. */
 	WRITE_LOCK(&ip_conntrack_lock);
-	LIST_DELETE(&ip_conntrack_helpers, me);
+
+	/* Conditional since some helpers (h245) are not really registered
+	 * and thus don't appear in our global list*/
+	if (me->list.next)
+		LIST_DELETE(&ip_conntrack_helpers, me);
 
 	/* Get rid of expecteds, set helpers to NULL. */
 	for (i = 0; i < ip_conntrack_htable_size; i++)
