Index: uspace/lib/c/include/ipc/devman.h
===================================================================
--- uspace/lib/c/include/ipc/devman.h	(revision 3fea75289c10d725fe81e0e0e160535d3f80e6f6)
+++ uspace/lib/c/include/ipc/devman.h	(revision f959a20f7a3197accd28bd8cb040895fed7fae3c)
@@ -108,16 +108,12 @@
 static inline void add_match_id(match_id_list_t *ids, match_id_t *id)
 {
-	match_id_t *mid = NULL;
-	link_t *link = ids->ids.head.next;
-
-	while (link != &ids->ids.head) {
-		mid = list_get_instance(link, match_id_t, link);
+	list_foreach(ids->ids, link, match_id_t, mid) {
 		if (mid->score < id->score) {
-			break;
+			list_insert_before(&id->link, &mid->link);
+			return;
 		}
-		link = link->next;
 	}
 
-	list_insert_before(&id->link, link);
+	list_append(&id->link, &ids->ids);
 }
 
