diff --git a/java/src/com/tightvnc/rfbplayer/RfbPlayer.java b/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
index 4b1f4fa..98b1505 100644
--- a/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
+++ b/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
@@ -134,7 +134,7 @@
       } else {
         url = new URL(sessionURL);
       }
-      rfb = new RfbProto(url);
+      rfb = new RfbProto(url, initialTimeOffset);
 
       vc = new VncCanvas(this);
       gbc.weightx = 1.0;
@@ -179,8 +179,6 @@
         try {
           setPaused(!autoPlay);
           rfb.fbs.setSpeed(playbackSpeed);
-          if (initialTimeOffset > rfb.fbs.getTimeOffset())
-            setPos(initialTimeOffset); // don't seek backwards here
           vc.processNormalProtocol();
         } catch (EOFException e) {
           if (e.getMessage() != null && e.getMessage().equals("[REWIND]")) {
@@ -192,7 +190,7 @@
             initialTimeOffset = 0;
             autoPlay = false;
           }
-          rfb.newSession(url);
+          rfb.newSession(url, initialTimeOffset);
           vc.updateFramebufferSize();
         } catch (NullPointerException e) {
           // catching this causes a hang with 1.4.1 JVM's under Win32 IE
diff --git a/java/src/com/tightvnc/rfbplayer/RfbProto.java b/java/src/com/tightvnc/rfbplayer/RfbProto.java
index a37cd61..080dfad 100644
--- a/java/src/com/tightvnc/rfbplayer/RfbProto.java
+++ b/java/src/com/tightvnc/rfbplayer/RfbProto.java
@@ -73,9 +73,9 @@
   //
   // Constructor.
   //
-  RfbProto(URL url) throws Exception {
+  RfbProto(URL url, long timeOffset) throws Exception {
     fbs = null;
-    newSession(url);
+    newSession(url, timeOffset);
   }
 
   // Force processing to quit
@@ -91,7 +91,7 @@
   //
   // Open new session URL.
   //
-  public void newSession(URL url) throws Exception {
+  public void newSession(URL url, long timeOffset) throws Exception {
     if (fbs != null)
       fbs.close();
 
@@ -107,6 +107,11 @@
       throw new Exception("Wrong authentication type in the session file");
     }
     readServerInit();
+
+    // Go to initial position but make sure not to seek backwards.
+    if (timeOffset > fbs.getTimeOffset()) {
+      fbs.setTimeOffset(timeOffset);
+    }
   }
 
   //
