diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 197793051fa51d1b9a24d4836b15f2c02af532b4..7d2b49adcdc55c9d8917fbbe952f73a5a7768fb3 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -964,6 +964,9 @@ resolve_callchain(struct thread *thread, struct map *map,
 		}
 
 		switch (context) {
+		case PERF_CONTEXT_HV:
+			dso = hypervisor_dso;
+			break;
 		case PERF_CONTEXT_KERNEL:
 			dso = kernel_dso;
 			break;
@@ -1012,9 +1015,6 @@ hist_entry__add(struct thread *thread, struct map *map, struct dso *dso,
 	};
 	int cmp;
 
-			case PERF_CONTEXT_HV:
-				dso = hypervisor_dso;
-				break;
 	if ((sort__has_parent || callchain) && chain)
 		syms = resolve_callchain(thread, map, chain, &entry);