diff --git a/dix/devices.c b/dix/devices.c index 48b6e7dd4..ff6f0ec98 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -965,11 +965,15 @@ RemoveDevice(DeviceIntPtr dev) return BadImplementation; initialized = dev->inited; - if (DevHasCursor(dev)) - screen->DisplayCursor(dev, screen, NullCursor); - deviceid = dev->id; - DisableDevice(dev); + + if (initialized) + { + if (DevHasCursor(dev)) + screen->DisplayCursor(dev, screen, NullCursor); + + DisableDevice(dev); + } prev = NULL; for (tmp = inputInfo.devices; tmp; (prev = tmp), (tmp = next)) {