field_name = field->name;
        } else if (field->flags & HIST_FIELD_FL_TIMESTAMP)
                field_name = "common_timestamp";
+       else if (field->flags & HIST_FIELD_FL_HITCOUNT)
+               field_name = "hitcount";
 
        if (field_name == NULL)
                field_name = "";
                        hist_data->attrs->ts_in_usecs = true;
        } else if (strcmp(field_name, "common_cpu") == 0)
                *flags |= HIST_FIELD_FL_CPU;
+       else if (strcmp(field_name, "hitcount") == 0)
+               *flags |= HIST_FIELD_FL_HITCOUNT;
        else {
                field = trace_find_event_field(file->event_call, field_name);
                if (!field || !field->size) {
 static int create_val_fields(struct hist_trigger_data *hist_data,
                             struct trace_event_file *file)
 {
+       unsigned int i, j = 1, n_hitcount = 0;
        char *fields_str, *field_str;
-       unsigned int i, j = 1;
        int ret;
 
        ret = create_hitcount_val(hist_data);
                if (!field_str)
                        break;
 
-               if (strcmp(field_str, "hitcount") == 0)
-                       continue;
+               if (strcmp(field_str, "hitcount") == 0) {
+                       if (!n_hitcount++)
+                               continue;
+               }
 
                ret = create_val_field(hist_data, j++, file, field_str);
                if (ret)