if (player_mc.hitTest(food)) { var_score = _parent.score.text; var_score++; if (var_score>8) { //First pass-> var_score=9 -> var_level is still = 0 I guess, so level.text =0 and var_level now = 1 //Second pass-> var_score=10 -> var_level = 1 so lvel.text =1 and var_level becomes 2 //Third pass-> score 11 level goes to 2 and var_level to 3.. _parent.level.text = var_level++; } _parent.score.text = var_score; _parent.stage.food._x = 500; _parent.stage.food._y = randRange(0, 290); } FIXED: add this on the top of everything: var levelStep:Number = 10; and here's the fix if (player_mc.hitTest(food)) { var_score = _parent.score.text; var_score++; if (Math.round(var_score/levelStep)==var_score/levelStep) { var_level++; _parent.level.text = var_level; } _parent.score.text = var_score; _parent.stage.food._x = 500; _parent.stage.food._y = randRange(0, 290); }