diff --git a/include/linux/taskstats_kern.h b/include/linux/taskstats_kern.h
index a437ca0d226b1add22411dc7121527ba35da7f7e..664224008fb2ec600a1a32ca7b3ea395e60a964a 100644
--- a/include/linux/taskstats_kern.h
+++ b/include/linux/taskstats_kern.h
@@ -32,6 +32,9 @@ static inline void taskstats_tgid_alloc(struct signal_struct *sig)
 	struct taskstats *stats;
 	unsigned long flags;
 
+	if (sig->stats != NULL)
+		return;
+
 	stats = kmem_cache_zalloc(taskstats_cache, SLAB_KERNEL);
 	if (!stats)
 		return;