diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 5d87fa63f0ad7006f9842ff9388bbf11354d6fa4..71cc1bbfe9aa3e235577ce66109d54efd179bd83 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -5758,6 +5758,9 @@ __ftrace_match_addr(struct ftrace_hash *hash, unsigned long ip, int remove)
 			return -ENOENT;
 		free_hash_entry(hash, entry);
 		return 0;
+	} else if (__ftrace_lookup_ip(hash, ip) != NULL) {
+		/* Already exists */
+		return 0;
 	}
 
 	entry = add_hash_entry(hash, ip);