Index: libiptc/libiptc.c
===================================================================
--- libiptc/libiptc.c	(revision 7090)
+++ libiptc/libiptc.c	(working copy)
@@ -420,8 +420,9 @@
 	c->head_offset = offset;
 	c->index = *num;
 
-	iptc_insert_chain(h, c);
-	
+	// iptc_insert_chain(h, c);
+	list_add_tail(&c->list, &h->chains);
+
 	h->chain_iterator_cur = c;
 }
 
@@ -1791,7 +1792,8 @@
 	}
 
 	DEBUGP("Creating chain `%s'\n", chain);
-	list_add_tail(&c->list, &(*handle)->chains);
+	// list_add_tail(&c->list, &(*handle)->chains);
+	iptc_insert_chain(*handle, c); /* Insert sorted */
 
 	set_changed(*handle);
 
