diff --git a/drivers/input/input.c b/drivers/input/input.c
index ef5824c8846baa10da473df879afecd01f0f6c31..fe33ff334e27cf48d27d366df69ab4249a206842 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -477,8 +477,8 @@ static int __init input_proc_init(void)
 
 	entry->owner = THIS_MODULE;
 	input_fileops = *entry->proc_fops;
+	input_fileops.poll = input_devices_poll;
 	entry->proc_fops = &input_fileops;
-	entry->proc_fops->poll = input_devices_poll;
 
 	entry = create_proc_read_entry("handlers", 0, proc_bus_input_dir, input_handlers_read, NULL);
 	if (!entry)