Sorry, I fixed it already. Very stupid of me: The ActiveCSDL.Flip() was actually just releasing the semaphore again, stupid me... I'll sit in that corner over there, quietly being very ashamed of myself...