diff --git a/rfbplayer/FbsInputStream.cxx b/rfbplayer/FbsInputStream.cxx
index 4b5da6f..a173beb 100644
--- a/rfbplayer/FbsInputStream.cxx
+++ b/rfbplayer/FbsInputStream.cxx
@@ -36,6 +36,8 @@
   seekBackwards = false;
   paused        = false;
 
+  interruptDelay = false;
+
   fbsFile = fopen(FileName, "rb");
   if (fbsFile == NULL) {
     char *msg = new char[12 + sizeof(FileName)];
@@ -142,14 +144,15 @@
     }
   }
 
-  while (true) {
+  while (!interruptDelay) {
     long timeDiff = startTime + timeOffset - GetTickCount();
     if (timeDiff <= 0) {
 	    break;
     }
-    Sleep(timeDiff);
+    Sleep(min(20, timeDiff));
     waitWhilePaused();
   }
+  interruptDelay = false;
 
   return nItems;
 }
@@ -192,6 +195,10 @@
   }
 }
 
+void FbsInputStream::interruptFrameDelay() {
+  interruptDelay = true;
+}
+
 //
 // Methods providing additional functionality.
 //
diff --git a/rfbplayer/FbsInputStream.h b/rfbplayer/FbsInputStream.h
index a072b7f..9649273 100644
--- a/rfbplayer/FbsInputStream.h
+++ b/rfbplayer/FbsInputStream.h
@@ -37,6 +37,7 @@
     bool isPaused();
     void pausePlayback();
     void resumePlayback();
+    void interruptFrameDelay();
     void close();
     int  pos();
 
@@ -49,6 +50,7 @@
     double playbackSpeed;
     bool seekBackwards;
     bool paused;
+    bool interruptDelay;
 
     FILE  *fbsFile;
 
diff --git a/rfbplayer/RfbProto.h b/rfbplayer/RfbProto.h
index ca88738..613d742 100644
--- a/rfbplayer/RfbProto.h
+++ b/rfbplayer/RfbProto.h
@@ -35,6 +35,7 @@
 
     void newSession(char *filename);
     void initialiseProtocol();
+    void interruptFrameDelay() { is->interruptFrameDelay(); };
     const rdr::InStream* getInStream() { return is; }
 
     virtual void processMsg();
diff --git a/rfbplayer/rfbSessionReader.h b/rfbplayer/rfbSessionReader.h
index acf9188..115b1d3 100644
--- a/rfbplayer/rfbSessionReader.h
+++ b/rfbplayer/rfbSessionReader.h
@@ -29,6 +29,7 @@
   rfbSessionReader(RfbProto *_rfbSession) {
     rfbSession = _rfbSession;
     fStop = false;
+    rfbSession->interruptFrameDelay();
   };
   
   ~rfbSessionReader() {
diff --git a/rfbplayer/rfbplayer.cxx b/rfbplayer/rfbplayer.cxx
index a8c4e38..b2943bd 100644
--- a/rfbplayer/rfbplayer.cxx
+++ b/rfbplayer/rfbplayer.cxx
@@ -1070,8 +1070,11 @@
 
 void RfbPlayer::stopPlayback() {
   stopped = true;
-  if (is) is->pausePlayback();
   setPos(0);
+  if (is) { 
+    is->pausePlayback();
+    is->interruptFrameDelay();
+  }
   tb.checkButton(ID_STOP, true);
   tb.checkButton(ID_PLAY, false);
   tb.checkButton(ID_PAUSE, false);
