(10 + adap->id) << 1, &bristol_dib3000mc_config[adap->id])) == NULL ? -ENODEV : 0;
 }
 
+int eeprom_read(struct i2c_adapter *adap,u8 adrs,u8 *pval)
+{
+       struct i2c_msg msg[2] = {
+               { .addr = 0x50, .flags = 0,        .buf = &adrs, .len = 1 },
+               { .addr = 0x50, .flags = I2C_M_RD, .buf = pval,  .len = 1 },
+       };
+       if (i2c_transfer(adap, msg, 2) != 2) return -EREMOTEIO;
+       return 0;
+}
+
 static int bristol_tuner_attach(struct dvb_usb_adapter *adap)
 {
-       struct dib0700_state *st = adap->dev->priv;
+       struct i2c_adapter *prim_i2c = &adap->dev->i2c_adap;
        struct i2c_adapter *tun_i2c = dib3000mc_get_tuner_i2c_master(adap->fe, 1);
-       return dvb_attach(mt2060_attach,adap->fe, tun_i2c, &bristol_mt2060_config[adap->id],
-               st->mt2060_if1[adap->id]) == NULL ? -ENODEV : 0;
+       s8 a;
+       int if1=1220;
+       if (adap->dev->udev->descriptor.idVendor  == USB_VID_HAUPPAUGE &&
+               adap->dev->udev->descriptor.idProduct == USB_PID_HAUPPAUGE_NOVA_T_500_2) {
+               if (!eeprom_read(prim_i2c,0x59 + adap->id,&a)) if1=1220+a;
+       }
+       return dvb_attach(mt2060_attach,adap->fe, tun_i2c,&bristol_mt2060_config[adap->id],
+               if1) == NULL ? -ENODEV : 0;
 }
 
 /* STK7700D: Pinnacle/Terratec/Hauppauge Dual DVB-T Diversity */
 
 static int stk7700p_tuner_attach(struct dvb_usb_adapter *adap)
 {
+       struct i2c_adapter *prim_i2c = &adap->dev->i2c_adap;
        struct dib0700_state *st = adap->dev->priv;
        struct i2c_adapter *tun_i2c;
-
+       s8 a;
+       int if1=1220;
+       if (adap->dev->udev->descriptor.idVendor  == USB_VID_HAUPPAUGE &&
+               adap->dev->udev->descriptor.idProduct == USB_PID_HAUPPAUGE_NOVA_T_STICK) {
+               if (!eeprom_read(prim_i2c,0x58,&a)) if1=1220+a;
+       }
        if (st->is_dib7000pc)
                tun_i2c = dib7000p_get_i2c_master(adap->fe, DIBX000_I2C_INTERFACE_TUNER, 1);
        else
                tun_i2c = dib7000m_get_i2c_master(adap->fe, DIBX000_I2C_INTERFACE_TUNER, 1);
 
        return dvb_attach(mt2060_attach, adap->fe, tun_i2c, &stk7700p_mt2060_config,
-               st->mt2060_if1[0]) == NULL ? -ENODEV : 0;
+               if1) == NULL ? -ENODEV : 0;
 }
 
 /* DIB7070 generic */