Собственно, имеем простенький код в глобалке

Код:
var a:String;
var b:String;
a="f";
b="f";
mc_1.onPress = function() {
if(a=="f") {
a=this._name;
}
else {
if(b=="f") {
b=this._name;
}
}
trace("I'm = "+this._name);
trace(""+a);
trace(""+b);
};
Все работает, выдает все как задумано.
Вырезаем все, что происходит на событие нажатия, т.е. со строки 5 и до конца (включительно). Вставляем оное в клип mc_1(в первый кадр, да собственно у нас клип - это квадратик, там более кадров то и нет), меняем в коде mc_1 на this.
Выдает "undefined" в последних двух trace'ах.
Закоментировав все строки с условием и оставив только присвоение и показ, видим, что программа выдает то, что от нее хотят (присваивает - показывает). Значит, дело в условиях, я правильно понимаю?
Вобщем, что за

(происходит) и как с этим бороться?