diff --git a/bigbluebutton-client/resources/prod/BigBlueButton.html b/bigbluebutton-client/resources/prod/BigBlueButton.html
index 5c6b3f68a54fbd296f8269d84ebcbbb46bfdff32..c0670b32c1774c62f023d3305faf4260898e7a47 100755
--- a/bigbluebutton-client/resources/prod/BigBlueButton.html
+++ b/bigbluebutton-client/resources/prod/BigBlueButton.html
@@ -62,7 +62,7 @@
       };
 
       //swfobject.registerObject("BigBlueButton", "11", "expressInstall.swf");
-      var flashvars = {};
+      var flashvars = {"origin":window.location.origin};
       var params = {};
       params.quality = "high";
       params.bgcolor = "#FFFFFF";
@@ -98,7 +98,7 @@
         var fillContent = function(){
           var content = document.getElementById("content");
           if (content) {
-            content.innerHTML = '<object type="application/x-shockwave-flash" id="BigBlueButton" name="BigBlueButton" tabindex="0" data="BigBlueButton.swf?v=VERSION" style="position: relative; top: 0.5px;" width="100%" height="100%" align="middle"><param name="quality" value="high"><param name="bgcolor" value="#FFFFFF"><param name="allowfullscreen" value="true"><param name="allowfullscreeninteractive" value="true"><param name="wmode" value="window"><param name="allowscriptaccess" value="always"><param name="seamlesstabbing" value="true"></object>';
+            content.innerHTML = '<object type="application/x-shockwave-flash" id="BigBlueButton" name="BigBlueButton" tabindex="0" data="BigBlueButton.swf?v=VERSION" style="position: relative; top: 0.5px;" width="100%" height="100%" align="middle"><param name="quality" value="high"><param name="bgcolor" value="#FFFFFF"><param name="allowfullscreen" value="true"><param name="allowfullscreeninteractive" value="true"><param name="wmode" value="window"><param name="allowscriptaccess" value="always"><param name="seamlesstabbing" value="true"><param name="FlashVars" value="origin='+window.location.origin+'"/></object>';
           }
         };
       } else {
diff --git a/bigbluebutton-client/src/BigBlueButton.mxml b/bigbluebutton-client/src/BigBlueButton.mxml
index d8a87b7da1648488fab020a912f371b0e0d0eed9..423db01d26ae6ca5979021618ec8454f9fae34a4 100755
--- a/bigbluebutton-client/src/BigBlueButton.mxml
+++ b/bigbluebutton-client/src/BigBlueButton.mxml
@@ -45,20 +45,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 			private function init():void {
 				LogUtil.initLogging(true);
 			}
-
-			public function determineHtmlUrl():String {
-				var url:String = "";
-				if (ExternalInterface.available) {
-					try {
-						url = String(ExternalInterface.call("window.location.href.toString"));
-						LOGGER.debug("HTML URL [{0}]", [url]);
-					} catch (s:Error) {
-						LOGGER.debug("Cannot determine HTML URL");
-					}
-				}
-
-				return url;
-			}
 		]]>
 	</fx:Script>
   <views:BigBlueButtonMainContainer id="bbbShell"/>
diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/BBB.as b/bigbluebutton-client/src/org/bigbluebutton/core/BBB.as
index 279ff41b3b34e23cf11350279e44c309b761545e..5bf1f4953a785431460fe6316193cac546303763 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/core/BBB.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/core/BBB.as
@@ -21,7 +21,6 @@ package org.bigbluebutton.core {
 	import flash.system.Capabilities;
 	
 	import mx.core.FlexGlobals;
-	import mx.utils.URLUtil;
 	
 	import org.bigbluebutton.core.managers.ConfigManager2;
 	import org.bigbluebutton.core.managers.ConnectionManager;
@@ -127,10 +126,8 @@ package org.bigbluebutton.core {
 			return logoutUrl;
 		}
 
-		private static function getBaseURL():String {
-			var protocol:String = URLUtil.getProtocol(FlexGlobals.topLevelApplication.determineHtmlUrl());
-			var serverName:String = URLUtil.getServerNameWithPort(FlexGlobals.topLevelApplication.determineHtmlUrl());
-			return protocol + "://" + serverName;
+		public static function getBaseURL():String {
+			return FlexGlobals.topLevelApplication.loaderInfo.parameters.origin
 		}
 	}
 }
diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/managers/ConfigManager2.as b/bigbluebutton-client/src/org/bigbluebutton/core/managers/ConfigManager2.as
index 11ed5370ebff6626deb1ef504edb13821e3cb9aa..5daa3af64205f91f18a725b6541a45d401d0222e 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/core/managers/ConfigManager2.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/core/managers/ConfigManager2.as
@@ -26,12 +26,10 @@ package org.bigbluebutton.core.managers {
     import flash.net.URLVariables;
     import flash.utils.Dictionary;
     
-    import mx.core.FlexGlobals;
-    import mx.utils.URLUtil;
-    
     import org.as3commons.logging.api.ILogger;
     import org.as3commons.logging.api.getClassLogger;
     import org.bigbluebutton.common.LogUtil;
+    import org.bigbluebutton.core.BBB;
     import org.bigbluebutton.core.model.Config;
     import org.bigbluebutton.main.events.ConfigLoadedEvent;
     import org.bigbluebutton.main.events.MeetingNotFoundEvent;
@@ -57,7 +55,7 @@ package org.bigbluebutton.core.managers {
             urlLoader.addEventListener(Event.COMPLETE, handleComplete);
 
             var date:Date = new Date();
-            var localeReqURL:String = buildRequestURL();
+            var localeReqURL:String = BBB.getBaseURL() + "/" + CONFIG_XML;;
             trace("::loadConfig [{0}]", [localeReqURL]);
 
             trace(localeReqURL + " session=[" + sessionToken + "]");
@@ -69,13 +67,6 @@ package org.bigbluebutton.core.managers {
             urlLoader.load(request);
         }
 
-        private function buildRequestURL():String {
-            var swfURL:String = FlexGlobals.topLevelApplication.determineHtmlUrl();
-            var protocol:String = URLUtil.getProtocol(swfURL);
-            var serverName:String = URLUtil.getServerNameWithPort(swfURL);
-            return protocol + "://" + serverName + "/" + CONFIG_XML;
-        }
-
         private function handleComplete(e:Event):void {
             trace("handleComplete [{0}]", [new XML(e.target.data)]);
 
diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml
index e077f9b4d9a8025737f51a6331dee04054d6c76d..b9c06009e31877080f2e4c436bae34b42ed592a1 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml
@@ -623,11 +623,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
                 } else {
                     mdiCanvas.removeAllPopUps();
                     removeToolBars();
-                    var serverURL:String = FlexGlobals.topLevelApplication.determineHtmlUrl();
-                    var pageHost:String = serverURL.split("/")[0];
-                    var pageURL:String = serverURL.split("/")[2];
-                    LOGGER.debug("SingOut to [{0}//{1}/bigbluebutton/api/signOut]", [pageHost, pageURL]);
-                    var request:URLRequest = new URLRequest(pageHost + "//" + pageURL + "/bigbluebutton/api/signOut");
+                    LOGGER.debug("SingOut to [{0}/bigbluebutton/api/signOut]", [BBB.getBaseURL()]);
+                    var request:URLRequest = new URLRequest(BBB.getBaseURL() + "/bigbluebutton/api/signOut");
                     var urlLoader:URLLoader = new URLLoader();
                     urlLoader.addEventListener(Event.COMPLETE, handleLogoutComplete);
                     urlLoader.addEventListener(IOErrorEvent.IO_ERROR, handleLogoutError);
diff --git a/bigbluebutton-client/src/org/bigbluebutton/util/browser/BrowserCheck.as b/bigbluebutton-client/src/org/bigbluebutton/util/browser/BrowserCheck.as
index 7325903ba6866114d6a67a49aa4ba7fdec21a3f7..43645e1802551fc381386ab54424efc88c670708 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/util/browser/BrowserCheck.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/util/browser/BrowserCheck.as
@@ -23,6 +23,7 @@ package org.bigbluebutton.util.browser {
 	import org.as3commons.lang.StringUtils;
 	import org.as3commons.logging.api.ILogger;
 	import org.as3commons.logging.api.getClassLogger;
+	import org.bigbluebutton.core.BBB;
 
 	public class BrowserCheck {
 		private static const LOGGER:ILogger = getClassLogger(BrowserCheck);
@@ -87,9 +88,8 @@ package org.bigbluebutton.util.browser {
 		}
 
 		public static function isHttps():Boolean {
-			var url:String = ExternalInterface.call("window.location.href.toString");
 			var httpsPattern:RegExp = /^https/;
-			return httpsPattern.test(url);
+			return httpsPattern.test(BBB.getBaseURL());
 		}
 	}
 }
diff --git a/bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as b/bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as
index a7e9d072f588272289f070caf9e13f9e9c97f8c6..b4ee9c68ab6b7aefd31bf831b230c096f5fa5ac1 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as
@@ -48,7 +48,6 @@ package org.bigbluebutton.util.i18n
 		private var inited:Boolean = false;
 		private var dispatcher:Dispatcher = new Dispatcher();
 
-		
 		private static var BBB_RESOURCE_BUNDLE:String = 'bbbResources';
 		private static var MASTER_LOCALE:String = "en_US";
 		private static var DEFAULT_LOCALE_IDENTIFIER:String = "default";
diff --git a/bigbluebutton-client/src/org/bigbluebutton/util/logging/ServerLogTarget.as b/bigbluebutton-client/src/org/bigbluebutton/util/logging/ServerLogTarget.as
index bfc516464bebe8da7026eb3e664790545cd90362..79f45306b74057d8b30ab23d107bbabcb6587f47 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/util/logging/ServerLogTarget.as
+++ b/bigbluebutton-client/src/org/bigbluebutton/util/logging/ServerLogTarget.as
@@ -24,7 +24,6 @@ package org.bigbluebutton.util.logging
 	import flash.net.URLLoader;
 	import flash.net.URLRequest;
 	import flash.net.URLRequestMethod;
-	import flash.net.URLVariables;
 	import flash.utils.Timer;
 
 	import org.as3commons.lang.ArrayUtils;