 			trace("Best effort download error " + event.toString());
 			
 			// unregister our listeners
-			stopListeningToBestEffortDownload();
+			stopListeningToBestEffortDownload(false);
 			
 			if(_bestEffortDownloadReply != null)
 			{

		private function initiateBestEffortRequest(nextFragmentId:uint, quality:int, segments:Vector.<HLSManifestSegment>, localManifest:HLSManifestParser):HTTPStreamRequest
		{
			// if we had a pending BEF download, invalidate it
			stopListeningToBestEffortDownload();
			
			// clean up best effort state
			_bestEffortDownloadReply = null;

			{
				trace("initiateBestEffortRequest - NO SEGMENTS FOUND, ABORTING initiateBestEffortRequest");
				return null;
			}

			if(newMan.streamEnds == false && segments.length > 0 && nextFragmentId <= segments[0].id)
			{
				trace("initiateBestEffortRequest - Forcing to live edge to avoid eternal BEF.");
				nextFragmentId = segments[segments.length - 1].id;
			}
			
			var nextSeg:HLSManifestSegment = getSegmentBySequenceCapped(segments, nextFragmentId);
