ui_browser__gotorc(&browser->b, row, 0);
 
                perf_hpp__for_each_format(fmt) {
+                       if (perf_hpp__should_skip(fmt))
+                               continue;
+
                        if (current_entry && browser->b.navkeypressed) {
                                ui_browser__set_color(&browser->b,
                                                      HE_COLORSET_SELECTED);
                printed += fprintf(fp, "%c ", folded_sign);
 
        perf_hpp__for_each_format(fmt) {
+               if (perf_hpp__should_skip(fmt))
+                       continue;
+
                if (!first) {
                        ret = scnprintf(hpp.buf, hpp.size, "  ");
                        advance_hpp(&hpp, ret);
 
        col_idx = 0;
 
        perf_hpp__for_each_format(fmt) {
+               if (perf_hpp__should_skip(fmt))
+                       continue;
+
                fmt->header(fmt, &hpp, hists_to_evsel(hists));
 
                gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view),
                col_idx = 0;
 
                perf_hpp__for_each_format(fmt) {
+                       if (perf_hpp__should_skip(fmt))
+                               continue;
+
                        if (fmt->color)
                                fmt->color(fmt, &hpp, h);
                        else
 
                return 0;
 
        perf_hpp__for_each_format(fmt) {
+               if (perf_hpp__should_skip(fmt))
+                       continue;
+
                /*
                 * If there's no field_sep, we still need
                 * to display initial '  '.
        fprintf(fp, "# ");
 
        perf_hpp__for_each_format(fmt) {
+               if (perf_hpp__should_skip(fmt))
+                       continue;
+
                if (!first)
                        fprintf(fp, "%s", sep ?: "  ");
                else
        perf_hpp__for_each_format(fmt) {
                unsigned int i;
 
+               if (perf_hpp__should_skip(fmt))
+                       continue;
+
                if (!first)
                        fprintf(fp, "%s", sep ?: "  ");
                else
 
        int64_t cmp = 0;
 
        perf_hpp__for_each_sort_list(fmt) {
+               if (perf_hpp__should_skip(fmt))
+                       continue;
+
                cmp = fmt->cmp(left, right);
                if (cmp)
                        break;
        int64_t cmp = 0;
 
        perf_hpp__for_each_sort_list(fmt) {
+               if (perf_hpp__should_skip(fmt))
+                       continue;
+
                cmp = fmt->collapse(left, right);
                if (cmp)
                        break;
        int64_t cmp = 0;
 
        perf_hpp__for_each_sort_list(fmt) {
+               if (perf_hpp__should_skip(fmt))
+                       continue;
+
                cmp = fmt->sort(a, b);
                if (cmp)
                        break;
 
 
 bool perf_hpp__is_sort_entry(struct perf_hpp_fmt *format);
 bool perf_hpp__same_sort_entry(struct perf_hpp_fmt *a, struct perf_hpp_fmt *b);
+bool perf_hpp__should_skip(struct perf_hpp_fmt *format);
 
 typedef u64 (*hpp_field_fn)(struct hist_entry *he);
 typedef int (*hpp_callback_fn)(struct perf_hpp *hpp, bool front);
 
        return ret;
 }
 
+bool perf_hpp__should_skip(struct perf_hpp_fmt *format)
+{
+       if (perf_hpp__is_sort_entry(format)) {
+               struct hpp_sort_entry *hse;
+
+               hse = container_of(format, struct hpp_sort_entry, hpp);
+               return hse->se->elide;
+       }
+       return false;
+}
+
 static void sort_entry__setup_elide(struct sort_entry *se,
                                    struct strlist *list,
                                    const char *list_name, FILE *fp)