 				manifest = newManifest;
 			lastQuality = reloadingQuality;
 
+			// Update last sequence state.
+			updateLastSequence(newManifest, newSequence);
+
 			// Kick off the next round as appropriate.
 			dispatchDVRStreamInfo();
 			updateTotalDuration();


			if(!segments)
			{
				trace("NO SEGMENTS FOUND, ABORTING initiateBestEffortRequest");
				return null;
			}

			if(nextFragmentId > segments.length - 1 || nextFragmentId == uint.MAX_VALUE)
			{
				trace("Capping to end of segment list " + (segments.length - 1));
				nextFragmentId = segments.length - 1;
			}				

			_bestEffortFileHandler.segmentId = segments[nextFragmentId].id;
			_bestEffortFileHandler.key = getKeyForIndex( nextFragmentId );

			for(var i:int=0; i<segments.length; i++)
			{
				var seg:HLSManifestSegment = segments[i];
				if(seg.startTime <= time && time < (seg.startTime + seg.duration))
					return seg;
			}

