diff --git a/drivers/media/dvb/dvb-usb/au6610.c b/drivers/media/dvb/dvb-usb/au6610.c
index 1796a7d..1c0160d 100644
--- a/drivers/media/dvb/dvb-usb/au6610.c
+++ b/drivers/media/dvb/dvb-usb/au6610.c
@@ -1,6 +1,6 @@
 /* DVB USB compliant linux driver for Sigmatek DVB-110 DVB-T USB2.0 receiver
  *
- * Copyright (C) 2006 Antti Palosaari (crope@iki.fi)
+ * Copyright (C) 2006 Antti Palosaari <crope@iki.fi>
  *
  *	This program is free software; you can redistribute it and/or modify it
  *	under the terms of the GNU General Public License as published by the Free
@@ -19,7 +19,6 @@
 module_param_named(debug, dvb_usb_au6610_debug, int, 0644);
 MODULE_PARM_DESC(debug, "set debugging level (1=rc (or-able))." DVB_USB_DEBUG_STATUS);
 
-
 static int au6610_usb_msg(struct dvb_usb_device *d, u8 operation, u8 addr,
 			  u8 *wbuf, u16 wlen, u8 *rbuf, u16 rlen)
 {
@@ -127,7 +126,6 @@
 	.parallel_ts = 1,
 };
 
-
 static int au6610_zl10353_frontend_attach(struct dvb_usb_adapter *adap)
 {
 	if ((adap->fe = dvb_attach(zl10353_attach, &au6610_zl10353_config,
@@ -138,6 +136,29 @@
 	return -EIO;
 }
 
+static struct qt1010_config au6610_qt1010_config = {
+	.i2c_address = 0xc4
+};
+
+static int au6610_qt1010_tuner_attach(struct dvb_usb_adapter *adap)
+{
+	/* TODO FIXME; probably I2C gate.
+	QT1010 tuner does not respond before we write 0x1a to ZL10353 demodulator
+	register 0x62. This ought to be done somewhere in demodulator initialization.
+	This solution is temporary hack. */
+	u8 buf[2] = { 0x62, 0x1a };
+	struct i2c_msg msg = {
+		.addr = au6610_zl10353_config.demod_address, .flags = 0, .buf = buf, .len = 2
+	};
+	if (i2c_transfer(&adap->dev->i2c_adap, &msg, 1) != 1) {
+		printk(KERN_WARNING "au6610 tuner attach failed\n");
+		return -EREMOTEIO;
+	}
+	return dvb_attach(qt1010_attach,
+			  adap->fe, &adap->dev->i2c_adap,
+			  &au6610_qt1010_config) == NULL ? -ENODEV : 0;
+}
+
 /* DVB USB Driver stuff */
 static struct dvb_usb_device_properties au6610_properties;
 
@@ -180,7 +201,7 @@
 	.adapter = {
 		{
 			.frontend_attach  = au6610_zl10353_frontend_attach,
-			.tuner_attach     = qt1010_tuner_attach,
+			.tuner_attach     = au6610_qt1010_tuner_attach,
 
 			.stream = {
 				.type = USB_ISOC,
diff --git a/drivers/media/dvb/dvb-usb/gl861.c b/drivers/media/dvb/dvb-usb/gl861.c
index 7dbfc79..200ba13 100644
--- a/drivers/media/dvb/dvb-usb/gl861.c
+++ b/drivers/media/dvb/dvb-usb/gl861.c
@@ -116,6 +116,29 @@
 	return -EIO;
 }
 
+static struct qt1010_config gl861_qt1010_config = {
+	.i2c_address = 0xc4
+};
+
+static int gl861_tuner_attach(struct dvb_usb_adapter *adap)
+{
+	/* TODO FIXME; probably I2C gate.
+	QT1010 tuner does not respond before we write 0x1a to ZL10353 demodulator
+	register 0x62. This ought to be done somewhere in demodulator initialization.
+	This solution is temporary hack. */
+	u8 buf[2] = { 0x62, 0x1a };
+	struct i2c_msg msg = {
+		.addr = gl861_zl10353_config.demod_address, .flags = 0, .buf = buf, .len = 2
+	};
+	if (i2c_transfer(&adap->dev->i2c_adap, &msg, 1) != 1) {
+		printk(KERN_WARNING "gl861 tuner attach failed\n");
+		return -EREMOTEIO;
+	}
+	return dvb_attach(qt1010_attach,
+			  adap->fe, &adap->dev->i2c_adap,
+			  &gl861_qt1010_config) == NULL ? -ENODEV : 0;
+}
+
 /* DVB USB Driver stuff */
 static struct dvb_usb_device_properties gl861_properties;
 
@@ -161,7 +184,7 @@
 	.adapter = {{
 
 		.frontend_attach  = gl861_frontend_attach,
-		.tuner_attach     = qt1010_tuner_attach,
+		.tuner_attach     = gl861_tuner_attach,
 
 		.stream = {
 			.type = USB_BULK,
