 		private var _parser:M3U8PlaylistParser = null;
 		private var _loadTime:int = 0;
 		private var _playlistLoader:URLLoader = null;
+        private var _errorHit:Boolean = false;  // So we only handle HTTP errors once; handling stuff twice dorks things.
 		
 		public function M3U8Loader(){
 			super();

			_loadTrait = loadTrait;
			updateLoadTrait(loadTrait, LoadState.LOADING);
			
			_playlistLoader = new URLLoader(new URLRequest(URLResource(loadTrait.resource).url));
			_playlistLoader.addEventListener(Event.COMPLETE, onComplete);
			_playlistLoader.addEventListener(IOErrorEvent.IO_ERROR, onError);
			_playlistLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onError);
			_playlistLoader.addEventListener(flash.events.HTTPStatusEvent.HTTP_STATUS, onHTTPStatus);
			
			CONFIG::LOGGING
				{
					_loadTime = getTimer();
				}       
		}
		
		override protected function executeUnload(loadTrait:LoadTrait):void

				this.removeListeners();
				_playlistLoader.close();
				_playlistLoader = null;
			}

            // Reset our error hit logic since we're trying again.
            _errorHit = false;
			
			if( _parser != null )
			{
