diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c
index aaaa2e0d45c22aec11ac2325a488d27e392a0f96..c840a4c08e9814c197d30b631b782c420e26869a 100644
--- a/sound/pci/bt87x.c
+++ b/sound/pci/bt87x.c
@@ -810,7 +810,7 @@ static int __devinit snd_bt87x_detect_card(struct pci_dev *pci)
 	const struct pci_device_id *supported;
 
 	supported = pci_match_device(&driver, pci);
-	if (supported)
+	if (supported && supported->driver_data > 0)
 		return supported->driver_data;
 
 	for (i = 0; i < ARRAY_SIZE(blacklist); ++i)