diff --git a/dlls/d3d9/device.c b/dlls/d3d9/device.c index 4c865f30568..ec1800a6492 100644 --- a/dlls/d3d9/device.c +++ b/dlls/d3d9/device.c @@ -2222,7 +2222,9 @@ static HRESULT WINAPI d3d9_device_LightEnable(IDirect3DDevice9Ex *iface, DWORD i TRACE("iface %p, index %u, enable %#x.\n", iface, index, enable); wined3d_mutex_lock(); - hr = wined3d_device_set_light_enable(device->wined3d_device, index, enable); + hr = wined3d_stateblock_set_light_enable(device->update_state, index, enable); + if (SUCCEEDED(hr) && !device->recording) + hr = wined3d_device_set_light_enable(device->wined3d_device, index, enable); wined3d_mutex_unlock(); return hr;