diff --git a/kernel/sys.c b/kernel/sys.c
index a22106a..5c2af3c 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -1598,7 +1598,7 @@ int do_prlimit(struct task_struct *tsk, unsigned int resource,
 		   user in between this limit change and an execve by this task, force
 		   a recheck only for this task by setting PF_NPROC_EXCEEDED
 		*/
-		if (resource == RLIMIT_NPROC)
+		if (resource == RLIMIT_NPROC && tsk->real_cred->user != INIT_USER)
 			tsk->flags |= PF_NPROC_EXCEEDED;
 	}
 	if (!retval) {
