diff --git a/drivers/media/video/gspca/sonixb.c b/drivers/media/video/gspca/sonixb.c
index 735d4260f2f87d22d461cfb2177cc429eab1ddd6..64aae060a934f4d9c29700c173e198a3059c2251 100644
--- a/drivers/media/video/gspca/sonixb.c
+++ b/drivers/media/video/gspca/sonixb.c
@@ -756,6 +756,11 @@ static int sd_config(struct gspca_dev *gspca_dev,
 	struct sd *sd = (struct sd *) gspca_dev;
 	struct cam *cam;
 	int sif = 0;
+	const __u8 stop = 0x09; /* Disable stream turn of LED */
+
+	reg_r(gspca_dev, 0x00);
+	if (gspca_dev->usb_buf[0] != 0x10)
+		return -ENODEV;
 
 	/* copy the webcam info from the device id */
 	sd->sensor = (id->driver_info >> 24) & 0xff;
@@ -788,15 +793,15 @@ static int sd_config(struct gspca_dev *gspca_dev,
 		sd->autogain = AUTOGAIN_DEF;
 	sd->freq = FREQ_DEF;
 
+	/* Disable stream turn of LED */
+	reg_w(gspca_dev, 0x01, &stop, 1);
+
 	return 0;
 }
 
 /* this function is called at open time */
 static int sd_open(struct gspca_dev *gspca_dev)
 {
-	reg_r(gspca_dev, 0x00);
-	if (gspca_dev->usb_buf[0] != 0x10)
-		return -ENODEV;
 	return 0;
 }