diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp index d56ab8296..80b391899 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -6008,11 +6008,13 @@ namespace dxvk { void D3D9DeviceEx::End(D3D9Query* pQuery) { D3D9DeviceLock lock = LockDevice(); + pQuery->NotifyEnd(); if (unlikely(pQuery->IsEvent())) { - pQuery->NotifyEnd(); pQuery->IsStalling() ? Flush() : FlushImplicit(TRUE); + } else if (pQuery->IsStalling()) { + FlushImplicit(FALSE); } EmitCs([cQuery = Com(pQuery)](DxvkContext* ctx) {