diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c
index 6916729470846fe16f5210206bcab52cb5a3d0f7..d2bc3e5866238c908a8763ad71c8f2a4bd1c1ef5 100644
--- a/drivers/media/video/cx23885/cx23885-core.c
+++ b/drivers/media/video/cx23885/cx23885-core.c
@@ -622,11 +622,9 @@ static int cx23885_pci_quirks(struct cx23885_dev *dev)
 {
 	dprintk(1, "%s()\n", __FUNCTION__);
 
-	switch(dev->board) {
-	case CX23885_BOARD_HAUPPAUGE_HVR1800lp:
+	if(dev->bridge == CX23885_BRIDGE_885)
 		cx_clear(RDR_TLCTL0, 1 << 4);
-		break;
-	}
+
 	return 0;
 }
 
@@ -777,8 +775,6 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
 	       dev->board, card[dev->nr] == dev->board ?
 	       "insmod option" : "autodetected");
 
-	cx23885_pci_quirks(dev);
-
 	/* Configure the internal memory */
 	if(dev->pci->device == 0x8880) {
 		dev->bridge = CX23885_BRIDGE_887;
@@ -791,6 +787,8 @@ static int cx23885_dev_setup(struct cx23885_dev *dev)
 	dprintk(1, "%s() Memory configured for PCIe bridge type %d\n",
 		__FUNCTION__, dev->bridge);
 
+	cx23885_pci_quirks(dev);
+
 	/* init hardware */
 	cx23885_reset(dev);