/*
  * module init/exit
  */
-static void ideapad_sync_touchpad_state(struct ideapad_private *priv)
+static void ideapad_sync_touchpad_state(struct ideapad_private *priv, bool send_events)
 {
        unsigned long value;
        unsigned char param;
         * KEY_TOUCHPAD_ON to not to get out of sync with LED
         */
        i8042_command(¶m, value ? I8042_CMD_AUX_ENABLE : I8042_CMD_AUX_DISABLE);
-       ideapad_input_report(priv, value ? 67 : 66);
-       sysfs_notify(&priv->platform_device->dev.kobj, NULL, "touchpad");
+
+       if (send_events) {
+               ideapad_input_report(priv, value ? 67 : 66);
+               sysfs_notify(&priv->platform_device->dev.kobj, NULL, "touchpad");
+       }
 }
 
 static void ideapad_acpi_notify(acpi_handle handle, u32 event, void *data)
                        ideapad_sync_rfk_state(priv);
                        break;
                case 5:
-                       ideapad_sync_touchpad_state(priv);
+                       ideapad_sync_touchpad_state(priv, true);
                        break;
                case 4:
                        ideapad_backlight_notify_brightness(priv);
                        ideapad_register_rfkill(priv, i);
 
        ideapad_sync_rfk_state(priv);
-       ideapad_sync_touchpad_state(priv);
+       ideapad_sync_touchpad_state(priv, false);
 
        err = ideapad_dytc_profile_init(priv);
        if (err) {
        struct ideapad_private *priv = dev_get_drvdata(dev);
 
        ideapad_sync_rfk_state(priv);
-       ideapad_sync_touchpad_state(priv);
+       ideapad_sync_touchpad_state(priv, false);
 
        if (priv->dytc)
                dytc_profile_refresh(priv);