 
         override public function load(request : URLRequest) : void {
             // XXX arik: cleanup previous if hola mode changed
-            _hola_managed = HSettings.enabled;
+            _hola_managed = HSettings.enabled && ExternalInterface.available;
             req_count++;
             _req_id = 'req'+req_count;
             if (!_hola_managed)

        private function onOpen(event : Event) : void { _connected = true; }

        private function decode(str : String) : void {
            var data : ByteArray;
            if (!HSettings.use_worker)
            {
                if (str)
                    data = Base64.decode_str(str);
                return on_decoded_data(data);
            }
            data = new ByteArray();
            data.shareable = true;
            data.writeUTFBytes(str);
            WorkerUtils.send({cmd: "b64.decode", id: _req_id});

        private var _req_id : String;

        public function JSURLStream(){
            _hola_managed = HSettings.enabled && ExternalInterface.available;
            addEventListener(Event.OPEN, onOpen);
            super();
            if (!_hola_managed || js_api_inited)
                return;
            // Connect calls to JS.
            ZErr.log('JSURLStream init api');
            ExternalInterface.marshallExceptions = true;
            ExternalInterface.addCallback('hola_onFragmentData',
                hola_onFragmentData);
            js_api_inited = true;
        }

        protected function _trigger(cb:String, data:Object) : void {
            if (!_hola_managed)
            {
                // XXX arik: need ZErr.throw
                ZErr.log('invalid trigger');
                throw new Error('invalid trigger');
