diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index a8642bac843ef12fe8f762fad70abd442bf65a28..d2ab10b3a30ecd7b3e9de0ff3c517dddb4ca5c8c 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -331,12 +331,12 @@ static void update_ftrace_function(void)
 		func = ftrace_ops_list_func;
 	}
 
+	update_function_graph_func();
+
 	/* If there's no change, then do nothing more here */
 	if (ftrace_trace_function == func)
 		return;
 
-	update_function_graph_func();
-
 	/*
 	 * If we are using the list function, it doesn't care
 	 * about the function_trace_ops.