diff --git a/java/src/com/tightvnc/rfbplayer/FbsInputStream.java b/java/src/com/tightvnc/rfbplayer/FbsInputStream.java
index db02a1d..2077bc5 100644
--- a/java/src/com/tightvnc/rfbplayer/FbsInputStream.java
+++ b/java/src/com/tightvnc/rfbplayer/FbsInputStream.java
@@ -33,7 +33,7 @@
   protected long startTime;
   protected long timeOffset;
   protected long seekOffset;
-  protected boolean seekBackwards;
+  protected boolean farSeeking;
   protected boolean paused;
   protected boolean isQuitting = false;
   protected double playbackSpeed;
@@ -101,7 +101,7 @@
     startTime = System.currentTimeMillis() - timeOffset;
     this.timeOffset = timeOffset;
     seekOffset = -1;
-    seekBackwards = false;
+    farSeeking = false;
     paused = false;
     playbackSpeed = 1.0;
 
@@ -147,7 +147,7 @@
     startTime = -1;
     timeOffset = 0;
     seekOffset = -1;
-    seekBackwards = false;
+    farSeeking = false;
     paused = false;
     playbackSpeed = 1.0;
 
@@ -169,8 +169,9 @@
 
   public synchronized void setTimeOffset(long pos) {
     seekOffset = (long)(pos / playbackSpeed);
-    if (seekOffset < timeOffset) {
-      seekBackwards = true;
+    long minJumpForwardOffset = timeOffset + (long)(10000 / playbackSpeed);
+    if (seekOffset < timeOffset || seekOffset >  minJumpForwardOffset) {
+      farSeeking = true;
     }
     notify();
   }
@@ -216,9 +217,9 @@
   // Methods for internal use.
   //
   private synchronized boolean fillBuffer() throws IOException {
-    // The reading thread should be interrupted on backward seeking.
-    if (seekBackwards)
-      throw new EOFException("[REWIND]");
+    // The reading thread should be interrupted on far seeking.
+    if (farSeeking)
+      throw new EOFException("[JUMP]");
 
     // Just wait unless we are performing playback OR seeking.
     waitWhilePaused();
diff --git a/java/src/com/tightvnc/rfbplayer/RfbPlayer.java b/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
index 85d067d..6cdd386 100644
--- a/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
+++ b/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
@@ -180,8 +180,9 @@
           vc.processNormalProtocol();
         } catch (EOFException e) {
           long newTimeOffset;
-          if (e.getMessage() != null && e.getMessage().equals("[REWIND]")) {
-            // A special type of EOFException allowing us to seek backwards.
+          if (e.getMessage() != null && e.getMessage().equals("[JUMP]")) {
+            // A special type of EOFException allowing us to close FBS stream
+            // and then re-open it for jumping to a different time offset.
             newTimeOffset = fbs.getSeekOffset();
             autoPlay = !fbs.isPaused();
           } else {
