diff --git a/drivers/bluetooth/nitrous.c b/drivers/bluetooth/nitrous.c
index f89738346a611e95f89afff3c48f5210c2cded2c..10ec179e2d212942c3fee9bcfbc49fac0a2b76d5 100644
--- a/drivers/bluetooth/nitrous.c
+++ b/drivers/bluetooth/nitrous.c
@@ -362,14 +362,13 @@ static int nitrous_rfkill_init(struct platform_device *pdev,
 		goto err_rfkill_alloc;
 	}
 
+	/* Make sure rfkill core is initialized to be blocked initially. */
+	rfkill_init_sw_state(lpm->rfkill, true);
 	rc = rfkill_register(lpm->rfkill);
 	if (unlikely(rc))
 		goto err_rfkill_register;
 
-	rfkill_set_states(lpm->rfkill, true, false);
-	/* Set blocked state to false, so the call to
-	   bt_rfkill_set_power can run and set blocked to true */
-	lpm->rfkill_blocked = false;
+	/* Power off chip at startup. */
 	nitrous_rfkill_set_power(lpm, true);
 	return 0;