diff --git a/kernel/panic.c b/kernel/panic.c
index 80aed44e345abc648f7ac3d0e7560a05e453c7fd..8ed89a175d79376600dfbfd777f06ed3c24665a5 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -97,7 +97,7 @@ void panic(const char *fmt, ...)
 	/*
 	 * Avoid nested stack-dumping if a panic occurs during oops processing
 	 */
-	if (!oops_in_progress)
+	if (!test_taint(TAINT_DIE) && oops_in_progress <= 1)
 		dump_stack();
 #endif