diff --git a/drivers/media/pci/pt3/pt3.c b/drivers/media/pci/pt3/pt3.c
index 90f86ce..1fdeac1 100644
--- a/drivers/media/pci/pt3/pt3.c
+++ b/drivers/media/pci/pt3/pt3.c
@@ -393,7 +393,7 @@
 		return -ENODEV;
 	pt3->adaps[i]->i2c_demod = cl;
 	if (!try_module_get(cl->dev.driver->owner))
-		goto err_demod;
+		goto err_demod_i2c_unregister_device;
 
 	if (!strncmp(cl->name, TC90522_I2C_DEV_SAT, sizeof(cl->name))) {
 		struct qm1d1c0042_config tcfg;
@@ -415,28 +415,27 @@
 		cl = i2c_new_device(cfg.tuner_i2c, &info);
 	}
 	if (!cl || !cl->dev.driver)
-		goto err_demod;
+		goto err_demod_module_put;
 	pt3->adaps[i]->i2c_tuner = cl;
 	if (!try_module_get(cl->dev.driver->owner))
-		goto err_tuner;
+		goto err_tuner_i2c_unregister_device;
 
 	dvb_adap = &pt3->adaps[one_adapter ? 0 : i]->dvb_adap;
 	ret = dvb_register_frontend(dvb_adap, cfg.fe);
 	if (ret < 0)
-		goto err_tuner;
+		goto err_tuner_module_put;
 	pt3->adaps[i]->fe = cfg.fe;
 	return 0;
 
-err_tuner:
+err_tuner_module_put:
+	module_put(pt3->adaps[i]->i2c_tuner->dev.driver->owner);
+err_tuner_i2c_unregister_device:
 	i2c_unregister_device(pt3->adaps[i]->i2c_tuner);
-	if (pt3->adaps[i]->i2c_tuner->dev.driver->owner &&
-	    module_is_live(pt3->adaps[i]->i2c_tuner->dev.driver->owner))
-		module_put(pt3->adaps[i]->i2c_tuner->dev.driver->owner);
-err_demod:
+err_demod_module_put:
+	module_put(pt3->adaps[i]->i2c_demod->dev.driver->owner);
+err_demod_i2c_unregister_device:
 	i2c_unregister_device(pt3->adaps[i]->i2c_demod);
-	if (pt3->adaps[i]->i2c_demod->dev.driver->owner &&
-	    module_is_live(pt3->adaps[i]->i2c_demod->dev.driver->owner))
-		module_put(pt3->adaps[i]->i2c_demod->dev.driver->owner);
+
 	return ret;
 }
 
