diff --git a/drivers/media/common/tuners/tuner-xc2028.c b/drivers/media/common/tuners/tuner-xc2028.c
index 96f45a80fe566ca7e1c1330618bfe3803560fe41..be51c294b375b5a17a33d8a48e2ab3b4db88e923 100644
--- a/drivers/media/common/tuners/tuner-xc2028.c
+++ b/drivers/media/common/tuners/tuner-xc2028.c
@@ -1135,11 +1135,13 @@ static int xc2028_set_params(struct dvb_frontend *fe,
 
 	/* All S-code tables need a 200kHz shift */
 	if (priv->ctrl.demod) {
+		demod = priv->ctrl.demod;
+
 		/*
 		 * Newer firmwares require a 200 kHz offset only for ATSC
 		 */
 		if (type == ATSC || priv->firm_version < 0x0302)
-			demod = priv->ctrl.demod + 200;
+			demod += 200;
 		/*
 		 * The DTV7 S-code table needs a 700 kHz shift.
 		 *