diff --git a/src/video/X11.cpp b/src/video/X11.cpp
index 5f0fd5b24..0ac335c02 100644
--- a/src/video/X11.cpp
+++ b/src/video/X11.cpp
@@ -974,7 +974,7 @@ global void WaitEventsOneFrame(const EventCallback* callbacks)
 	//
 	ticks=X11GetTicks();
 	if( !VideoInterrupts && ticks+11<NextFrameTicks ) {
-	    tv.tv_usec=ticks*1000;
+	    tv.tv_usec=(NextFrameTicks-ticks)*1000;
 	}
 	while( ticks>=NextFrameTicks ) {
 	    ++VideoInterrupts;