 			if (url is URLRequest)
 			{
 				request = url as URLRequest;
-				_requestedConfigFile = request.url;
+				setRequestedConfigFile(request.url);
 			}
 			else if (url is String)
 			{
-				_requestedConfigFile = String(url);
+				setRequestedConfigFile(String(url));
 				if (noCacheHack)
 					url = String(url) + "?" + (new Date()).getTime(); // prevent flex from using cache
 				request = new URLRequest(String(url));

				var headers:Object = url['requestHeaders'];
				for (var k:String in headers)
					request.requestHeaders.push(new URLRequestHeader(k, headers[k]));
				_requestedConfigFile = request.url;
			}
			
			_loadFileCallback = callback as Function;
			
			WeaveAPI.URLRequestUtils.getURL(null, request, handleConfigFileDownloaded, handleConfigFileFault, _requestedConfigFile);
		}
		
		private function downloadConfigFile():void
		{
			_loadFileCallback = null;
			if (getFlashVarRecover() || Weave.handleWeaveReload())
			{
				handleConfigFileDownloaded();

		}
		
		private var _requestedConfigFile:String;
		private function setRequestedConfigFile(value:String):void
		{
			if (_requestedConfigFile == value)
				return;
			_requestedConfigFile = value;
			_loadFileCallbacks.length = 0;
		}
		private var _loadFileCallbacks:Array = [];
		/**
		 * Loads a session state file from a URL.
		 * @param url The URL to the session state file (.weave or .xml) specified as a String, a URLRequest, or an Object containing properties "url", "requestHeaders", "method".
