diff --git a/tools/perf/util/newt.c b/tools/perf/util/newt.c
index 094887f45d05bc50f79e72c6dde81820de026973..139eb1a16cd8e4992801ede08a90e0d98cc93454 100644
--- a/tools/perf/util/newt.c
+++ b/tools/perf/util/newt.c
@@ -837,9 +837,10 @@ int hists__browse(struct hists *self, const char *helpline, const char *input_na
 		if (es.reason == NEWT_EXIT_HOTKEY) {
 			if (toupper(es.u.key) == 'A')
 				goto do_annotate;
-			if (es.u.key == NEWT_KEY_ESCAPE ||
-			    toupper(es.u.key) == 'Q' ||
-			    es.u.key == CTRL('c')) {
+			if (toupper(es.u.key) == 'Q' ||
+			    es.u.key == CTRL('c'))
+				break;
+			if (es.u.key == NEWT_KEY_ESCAPE) {
 				if (dialog_yesno("Do you really want to exit?"))
 					break;
 				else