Does changing the line 575 (in device.d, dlls/d3d8) to be if (ppBackBuffer) IDirect3DSurface8Impl_AddRef((LPDIRECT3DSURFACE8) *ppBackBuffer); make any difference - Looks like the app is doing an odd way to work out how many back buffers there are. Jason