         }
 
         flash_proxy override function setProperty(name:*, value:*):void {
-            callJSSetProperty(newStack(name), value);
+            var $name:* = $check(name);
+            if ($name) {
+                callJSSetProperty(newStack($name), value);
+            } else {
+                callJSSetProperty(newStack(name), value);
+            }
         }
 
         flash_proxy override function deleteProperty(name:*):Boolean {

            args.push(value);
            var argsString:String = createArgsString(args.length);

            cmd = "(function(" + argsString + ") {return " + cmd + " = _" + (args.length - 1).toString() + ";})";
            proxyLogger(cmd);
            return ExternalInterface.call.apply(null, [cmd].concat(args));
        }

        flash_proxy function callJS(stack:Array):* {

            return '[JSProxy] ' + cmd + ' :: ' + args.join(', ');
        }

        flash_proxy function callJSSetProperty(stack:Array, value:*):void {
            if (!ExternalInterface.available) 
                return;

            var res:Array = createCommand(stack);
            var cmd:String = res[0];
