* Usually "ret" is the last pressed key, and we only
                 * care if the key notifies us to switch data file.
                 */
-               if (ret != K_SWITCH_INPUT_DATA)
+               if (ret != K_SWITCH_INPUT_DATA && ret != K_RELOAD)
                        ret = 0;
                break;
        case 2:
                sort_order = sort_tmp;
        }
 
-       if ((last_key != K_SWITCH_INPUT_DATA) &&
+       if ((last_key != K_SWITCH_INPUT_DATA && last_key != K_RELOAD) &&
            (setup_sorting(session->evlist) < 0)) {
                if (sort_order)
                        parse_options_usage(report_usage, options, "s", 1);
        sort__setup_elide(stdout);
 
        ret = __cmd_report(&report);
-       if (ret == K_SWITCH_INPUT_DATA) {
+       if (ret == K_SWITCH_INPUT_DATA || ret == K_RELOAD) {
                perf_session__delete(session);
                last_key = K_SWITCH_INPUT_DATA;
                goto repeat;