             nP = 0;
           }
 
-          if (nP != oSound.lastValues.position) {
+          if (nP != oSound.lastValues.position && nP !== 0) {
             oSound.lastValues.position = nP;
             hasNew = true;
           }

    // -----------------------------------

    public function writeDebug (s:String, bTimestamp: Boolean = false) : Boolean {
      if (!debugEnabled) return false;
      // <d>
      ExternalInterface.call(baseJSController + "['_writeDebug']", "(Flash): " + s, null, bTimestamp);
      // </d>

            oSound.lastValues.duration = nD;
            hasNew = true;
          }

          if (bL > oSound.lastValues.bytesLoaded) {
            oSound.lastValues.bytesLoaded = bL;
            hasNew = true;
          }

          if (bT > oSound.lastValues.bytes) {
            oSound.lastValues.bytes = bT;
            hasNew = true;
