diff --git a/drivers/char/hvc_console.c b/drivers/char/hvc_console.c
index fd64137b1ab915fb9384fa674ad54be65c5f0074..ec7aded0a2df9050389cba0d398d6959fdb58162 100644
--- a/drivers/char/hvc_console.c
+++ b/drivers/char/hvc_console.c
@@ -819,11 +819,11 @@ static int hvc_init(void)
 	hvc_driver = drv;
 	return 0;
 
-put_tty:
-	put_tty_driver(hvc_driver);
 stop_thread:
 	kthread_stop(hvc_task);
 	hvc_task = NULL;
+put_tty:
+	put_tty_driver(drv);
 out:
 	return err;
 }