diff --git a/arch/mips/kernel/early_printk.c b/arch/mips/kernel/early_printk.c
index 818d7c350a2bf5c453eb1d8adf8b340accca896a..9dccfa4752b20b2eacdd366bf8be7c1f9c61a085 100644
--- a/arch/mips/kernel/early_printk.c
+++ b/arch/mips/kernel/early_printk.c
@@ -30,7 +30,13 @@ static struct console early_console __initdata = {
 	.index	= -1
 };
 
+static int early_console_initialized __initdata;
+
 void __init setup_early_printk(void)
 {
+	if (early_console_initialized)
+		return;
+	early_console_initialized = 1;
+
 	register_console(&early_console);
 }