The thread-naming feature depends on the matched messages being passed
down in a precise order, (the order of the top-level search). We fix
the feature by passing that sort order down.
     thread->oldest = 0;
     thread->newest = 0;
 
-    notmuch_query_set_sort (thread_id_query, NOTMUCH_SORT_OLDEST_FIRST);
+    notmuch_query_set_sort (thread_id_query, sort);
 
     for (messages = notmuch_query_search_messages (thread_id_query);
         notmuch_messages_valid (messages);
        if (unlikely (matched_query == NULL))
            return NULL;
 
+       notmuch_query_set_sort (matched_query, sort);
+
        for (messages = notmuch_query_search_messages (matched_query);
             notmuch_messages_valid (messages);
             notmuch_messages_move_to_next (messages))