i2c_master_send(c, buffer, 4);
                default_tuner_init(c);
                break;
-       case TUNER_LG_TDVS_H06XF:
-               /* Set the Auxiliary Byte. */
-               buffer[2] &= ~0x20;
-               buffer[2] |= 0x18;
-               buffer[3] = 0x20;
-               i2c_master_send(c, buffer, 4);
-               default_tuner_init(c);
-               break;
        case TUNER_PHILIPS_TD1316:
                buffer[0] = 0x0b;
                buffer[1] = 0xdc;
 
        if (4 != (rc = i2c_master_send(c,buffer,4)))
                tuner_warn("i2c i/o error: rc == %d (should be 4)\n",rc);
 
-       if (t->type == TUNER_MICROTUNE_4042FI5) {
+       switch (t->type) {
+       case TUNER_LG_TDVS_H06XF:
+               /* Set the Auxiliary Byte. */
+               buffer[0] = buffer[2];
+               buffer[0] &= ~0x20;
+               buffer[0] |= 0x18;
+               buffer[1] = 0x20;
+               tuner_dbg("tv 0x%02x 0x%02x\n",buffer[0],buffer[1]);
+
+               if (2 != (rc = i2c_master_send(c,buffer,2)))
+                       tuner_warn("i2c i/o error: rc == %d (should be 2)\n",rc);
+               break;
+       case TUNER_MICROTUNE_4042FI5:
+       {
                // FIXME - this may also work for other tuners
                unsigned long timeout = jiffies + msecs_to_jiffies(1);
                u8 status_byte = 0;
                buffer[2] = config;
                buffer[3] = cb;
                tuner_dbg("tv 0x%02x 0x%02x 0x%02x 0x%02x\n",
-                      buffer[0],buffer[1],buffer[2],buffer[3]);
+                         buffer[0],buffer[1],buffer[2],buffer[3]);
 
                if (4 != (rc = i2c_master_send(c,buffer,4)))
                        tuner_warn("i2c i/o error: rc == %d (should be 4)\n",rc);
+               break;
+       }
        }
 }