_really_ sort only user defined chains (Robert de Barth <list-netfilter@debarth.co.uk>
diff --git a/libiptc/libiptc.c b/libiptc/libiptc.c
index 7546d87..452ac13 100644
--- a/libiptc/libiptc.c
+++ b/libiptc/libiptc.c
@@ -399,7 +399,7 @@
 	/* sort only user defined chains */
 	if (!c->hooknum) {
 		list_for_each_entry(tmp, &h->chains, list) {
-			if (strcmp(c->name, tmp->name) <= 0) {
+			if (!tmp->hooknum && strcmp(c->name, tmp->name) <= 0) {
 				list_add(&c->list, tmp->list.prev);
 				return;
 			}