diff --git a/reactos/subsys/win32k/ntuser/caret.c b/reactos/subsys/win32k/ntuser/caret.c index 153ce76d0e4..0a60dbbf836 100644 --- a/reactos/subsys/win32k/ntuser/caret.c +++ b/reactos/subsys/win32k/ntuser/caret.c @@ -240,11 +240,13 @@ NtUserCreateCaret( return FALSE; } - IntKillTimer(hWnd, IDCARETTIMER, TRUE); - ThreadQueue = (PUSER_MESSAGE_QUEUE)PsGetWin32Thread()->MessageQueue; - - IntHideCaret(ThreadQueue->CaretInfo); + + if (ThreadQueue->CaretInfo->Visible) + { + IntKillTimer(hWnd, IDCARETTIMER, TRUE); + IntHideCaret(ThreadQueue->CaretInfo); + } ThreadQueue->CaretInfo->hWnd = hWnd; if(hBitmap)