diff --git a/src/winapi_hooks.c b/src/winapi_hooks.c
index 1e7faa0..3681a5e 100644
--- a/src/winapi_hooks.c
+++ b/src/winapi_hooks.c
@@ -121,7 +121,7 @@ int WINAPI fake_ShowCursor(BOOL bShow)
 
 HCURSOR WINAPI fake_SetCursor(HCURSOR hCursor)
 {
-    if (g_ddraw && !g_ddraw->handlemouse)
+    if (g_ddraw && !g_ddraw->handlemouse && (g_ddraw->locked || g_ddraw->devmode))
         return real_SetCursor(hCursor); 
     
     return NULL;