diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 0e2a82b..5e5a95e 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -1898,8 +1898,7 @@
 		return 0;
 	}
 
-	return sample__fprintf_callchain(sample, &al, 38, print_opts,
-					 &callchain_cursor, trace->output);
+	return sample__fprintf_callchain(sample, 38, print_opts, &callchain_cursor, trace->output);
 }
 
 static int trace__sys_exit(struct trace *trace, struct perf_evsel *evsel,
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index 35c5a52..060f619 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -2343,8 +2343,7 @@
 	return ++printed;
 }
 
-int sample__fprintf_callchain(struct perf_sample *sample,
-			      struct addr_location *al, int left_alignment,
+int sample__fprintf_callchain(struct perf_sample *sample, int left_alignment,
 			      unsigned int print_opts, struct callchain_cursor *cursor,
 			      FILE *fp)
 {
@@ -2364,9 +2363,6 @@
 
 		callchain_cursor_commit(cursor);
 
-		if (print_symoffset)
-			node_al = *al;
-
 		while (1) {
 			u64 addr = 0;
 
@@ -2431,7 +2427,7 @@
 	int print_unknown_as_addr = print_opts & EVSEL__PRINT_UNKNOWN_AS_ADDR;
 
 	if (cursor != NULL) {
-		printed += sample__fprintf_callchain(sample, al, left_alignment,
+		printed += sample__fprintf_callchain(sample, left_alignment,
 						     print_opts, cursor, fp);
 	} else if (!(al->sym && al->sym->ignore)) {
 		printed += fprintf(fp, "%-*.*s", left_alignment, left_alignment, " ");
diff --git a/tools/perf/util/evsel.h b/tools/perf/util/evsel.h
index abadfea..b993218 100644
--- a/tools/perf/util/evsel.h
+++ b/tools/perf/util/evsel.h
@@ -397,8 +397,8 @@
 
 struct callchain_cursor;
 
-int sample__fprintf_callchain(struct perf_sample *sample, struct addr_location *al,
-			      int left_alignment, unsigned int print_opts,
+int sample__fprintf_callchain(struct perf_sample *sample, int left_alignment,
+			      unsigned int print_opts,
 			      struct callchain_cursor *cursor, FILE *fp);
 
 int sample__fprintf_sym(struct perf_sample *sample, struct addr_location *al,
