diff --git a/drivers/media/common/ir-keytable.c b/drivers/media/common/ir-keytable.c
index 26ce5bc2fdd545de4bf3088e655e1ec7e9a0507a..ceef0e82fb4b649f14c618c431483a552606a4b8 100644
--- a/drivers/media/common/ir-keytable.c
+++ b/drivers/media/common/ir-keytable.c
@@ -419,6 +419,9 @@ void ir_input_free(struct input_dev *dev)
 {
 	struct ir_scancode_table *rc_tab = input_get_drvdata(dev);
 
+	if (!rc_tab)
+		return;
+
 	IR_dprintk(1, "Freed keycode table\n");
 
 	rc_tab->size = 0;