diff --git a/kernel/auditsc.c b/kernel/auditsc.c
index f463fd230846008e1166bcf921b32aad94cb6318..20c7d8560af03ba5c281e3399fb3a40cdfe7f957 100644
--- a/kernel/auditsc.c
+++ b/kernel/auditsc.c
@@ -573,7 +573,7 @@ static inline struct audit_context *audit_get_context(struct task_struct *tsk,
 	context->return_valid = return_valid;
 	context->return_code  = return_code;
 
-	if (context->in_syscall && !context->auditable) {
+	if (context->in_syscall && !context->auditable && tsk->pid != audit_pid) {
 		enum audit_state state;
 		state = audit_filter_syscall(tsk, context, &audit_filter_list[AUDIT_FILTER_EXIT]);
 		if (state == AUDIT_RECORD_CONTEXT)