diff --git a/kernel/gcov/clang.c b/kernel/gcov/clang.c
index cbb0bed958abdc15cfc26f58845fe50188193105..7670a811a56575273a4651d977726947054ea043 100644
--- a/kernel/gcov/clang.c
+++ b/kernel/gcov/clang.c
@@ -280,6 +280,8 @@ void gcov_info_add(struct gcov_info *dst, struct gcov_info *src)
 
 		for (i = 0; i < sfn_ptr->num_counters; i++)
 			dfn_ptr->counters[i] += sfn_ptr->counters[i];
+
+		sfn_ptr = list_next_entry(sfn_ptr, head);
 	}
 }