diff --git a/kernel/seccomp.c b/kernel/seccomp.c
index 369b63ac7cf9b6aa8e5d310f5a26d20331dfef9d..e5a5334c2f964446c3cd9b8375e452f9deef07ef 100644
--- a/kernel/seccomp.c
+++ b/kernel/seccomp.c
@@ -751,7 +751,7 @@ static int __seccomp_filter(int this_syscall, const struct seccomp_data *sd,
 		seccomp_log(this_syscall, SIGSYS, action, true);
 		/* Dump core only if this is the last remaining thread. */
 		if (action == SECCOMP_RET_KILL_PROCESS ||
-		    get_nr_threads(current) == 1) {
+		    (atomic_read(&current->signal->live) == 1)) {
 			siginfo_t info;
 
 			/* Show the original registers in the dump. */