diff --git a/reactos/dll/directx/ddraw/Surface/createsurface.c b/reactos/dll/directx/ddraw/Surface/createsurface.c index f86261f8035..9ad8ebee0ff 100644 --- a/reactos/dll/directx/ddraw/Surface/createsurface.c +++ b/reactos/dll/directx/ddraw/Surface/createsurface.c @@ -81,7 +81,8 @@ Internal_CreateSurface( LPDDRAWI_DIRECTDRAW_INT pDDraw, LPDDSURFACEDESC2 pDDSD, * if they forget set it, the ddraw will autoamtic * set it for system memory. */ - if ((pDDSD->ddsCaps.dwCaps & DDSCAPS_SYSTEMMEMORY) == DDSCAPS_SYSTEMMEMORY) + if ( ((pDDSD->ddsCaps.dwCaps & DDSCAPS_SYSTEMMEMORY) == DDSCAPS_SYSTEMMEMORY) && + ((pDDSD->dwFlags & DDSD_LPSURFACE) != DDSD_LPSURFACE) ) { pDDSD->dwFlags = pDDSD->dwFlags | DDSD_LPSURFACE; }