diff --git a/src/xenia/kernel/xam_info.cc b/src/xenia/kernel/xam_info.cc index 1976b2cf7..54726765e 100644 --- a/src/xenia/kernel/xam_info.cc +++ b/src/xenia/kernel/xam_info.cc @@ -162,7 +162,13 @@ SHIM_CALL XamEnumerate_shim(PPCContext* ppc_state, KernelState* state) { XEnumerator* e = nullptr; if (XFAILED(state->object_table()->GetObject(handle, (XObject**)&e))) { - SHIM_SET_RETURN_64(X_ERROR_INVALID_HANDLE); + if (overlapped_ptr) { + state->CompleteOverlappedImmediateEx(overlapped_ptr, 0, + X_ERROR_INVALID_HANDLE, 0); + SHIM_SET_RETURN_64(X_ERROR_IO_PENDING); + } else { + SHIM_SET_RETURN_64(X_ERROR_INVALID_HANDLE); + } return; }