printed += snprintf(bf + printed, size - printed,
                                    ", UID: %s", hists->uid_filter_str);
        if (thread) {
-               if (sort__has_thread) {
+               if (hists__has(hists, thread)) {
                        printed += scnprintf(bf + printed, size - printed,
                                    ", Thread: %s(%d)",
                                     (thread->comm_set ? thread__comm_str(thread) : ""),
 {
        struct thread *thread = act->thread;
 
-       if ((!sort__has_thread && !sort__has_comm) || thread == NULL)
+       if ((!hists__has(browser->hists, thread) && !sort__has_comm) || thread == NULL)
                return 0;
 
        if (browser->hists->thread_filter) {
                thread__zput(browser->hists->thread_filter);
                ui_helpline__pop();
        } else {
-               if (sort__has_thread) {
+               if (hists__has(browser->hists, thread)) {
                        ui_helpline__fpush("To zoom out press ESC or ENTER + \"Zoom out of %s(%d) thread\"",
                                           thread->comm_set ? thread__comm_str(thread) : "",
                                           thread->tid);
 {
        int ret;
 
-       if ((!sort__has_thread && !sort__has_comm) || thread == NULL)
+       if ((!hists__has(browser->hists, thread) && !sort__has_comm) || thread == NULL)
                return 0;
 
-       if (sort__has_thread) {
+       if (hists__has(browser->hists, thread)) {
                ret = asprintf(optstr, "Zoom %s %s(%d) thread",
                               browser->hists->thread_filter ? "out of" : "into",
                               thread->comm_set ? thread__comm_str(thread) : "",
                        goto skip_scripting;
 
                if (browser->he_selection) {
-                       if (sort__has_thread && thread) {
+                       if (hists__has(hists, thread) && thread) {
                                nr_options += add_script_opt(browser,
                                                             &actions[nr_options],
                                                             &options[nr_options],
 
 const char     *field_order;
 regex_t                ignore_callees_regex;
 int            have_ignore_callees = 0;
-int            sort__has_thread = 0;
 int            sort__has_comm = 0;
 enum sort_mode sort__mode = SORT_MODE__NORMAL;
 
                } else if (sd->entry == &sort_socket) {
                        list->socket = 1;
                } else if (sd->entry == &sort_thread) {
-                       sort__has_thread = 1;
+                       list->thread = 1;
                } else if (sd->entry == &sort_comm) {
                        sort__has_comm = 1;
                }
 
 extern const char default_sort_order[];
 extern regex_t ignore_callees_regex;
 extern int have_ignore_callees;
-extern int sort__has_thread;
 extern int sort__has_comm;
 extern enum sort_mode sort__mode;
 extern struct sort_entry sort_comm;