diff --git a/drivers/media/usb/siano/smsusb.c b/drivers/media/usb/siano/smsusb.c
index 0b13ad3d3a8c143d4d60f404ea4740f56b597c60..c945e4c2fbd49cdb0ffab93a53cd72ee37e81db7 100644
--- a/drivers/media/usb/siano/smsusb.c
+++ b/drivers/media/usb/siano/smsusb.c
@@ -440,7 +440,9 @@ static int smsusb_init_device(struct usb_interface *intf, int board_id)
 	if (rc < 0) {
 		pr_err("smscore_register_device(...) failed, rc %d\n", rc);
 		smsusb_term_device(intf);
+#ifdef CONFIG_MEDIA_CONTROLLER_DVB
 		media_device_unregister(mdev);
+#endif
 		kfree(mdev);
 		return rc;
 	}