Program: 13905
Project: 13905
Buggy source:
private void addChangeLevelButtons(){
  rightArrow=new ButtonSprite(camera.getWidth() * 0.93f - LEVEL_SELECT_ICON_WIDTH,camera.getHeight() * 0.8f,resourcesManager.levelChoiceArrowRightRegion,vbom,new ButtonSprite.OnClickListener(){
    @Override public void onClick(    ButtonSprite pButtonSprite,    float pTouchAreaLocalX,    float pTouchAreaLocalY){
      if (currentScreen < screenCount - 1) {
        currentScreen++;
        entityToFollow.registerEntityModifier(new MoveXModifier(0.5f,entityToFollow.getX(),currentScreen * camera.getWidth() + camera.getWidth() / 2));
        if (currentScreen == screenCount - 1) {
          leftArrow.setVisible(true);
        }
        leftArrow.setVisible(true);
      }
    }
  }
);
  leftArrow=new ButtonSprite(camera.getWidth() * 0.07f,camera.getHeight() * 0.8f,resourcesManager.levelChoiceArrowLeftRegion,vbom,new ButtonSprite.OnClickListener(){
    @Override public void onClick(    ButtonSprite pButtonSprite,    float pTouchAreaLocalX,    float pTouchAreaLocalY){
      if (currentScreen > 0) {
        currentScreen--;
        entityToFollow.registerEntityModifier(new MoveXModifier(0.5f,entityToFollow.getX(),currentScreen * camera.getWidth() + camera.getWidth() / 2));
        if (currentScreen == 0) {
          leftArrow.setVisible(false);
        }
        rightArrow.setVisible(true);
      }
    }
  }
);
  leftArrow.setVisible(false);
  if (screenCount == 1) {
    rightArrow.setVisible(false);
  }
  HUD arrowHud=new HUD();
  arrowHud.attachChild(leftArrow);
  arrowHud.attachChild(rightArrow);
  arrowHud.registerTouchArea(leftArrow);
  arrowHud.registerTouchArea(rightArrow);
  camera.setHUD(arrowHud);
}

Fixed version (ground truth):
private void addChangeLevelButtons(){
  rightArrow=new ButtonSprite(camera.getWidth() * 0.93f - LEVEL_SELECT_ICON_WIDTH,camera.getHeight() * 0.8f,resourcesManager.levelChoiceArrowRightRegion,vbom,new ButtonSprite.OnClickListener(){
    @Override public void onClick(    ButtonSprite pButtonSprite,    float pTouchAreaLocalX,    float pTouchAreaLocalY){
      if (currentScreen < screenCount - 1) {
        currentScreen++;
        entityToFollow.registerEntityModifier(new MoveXModifier(0.5f,entityToFollow.getX(),currentScreen * camera.getWidth() + camera.getWidth() / 2));
        if (currentScreen == screenCount - 1) {
          rightArrow.setVisible(false);
        }
        leftArrow.setVisible(true);
      }
    }
  }
);
  leftArrow=new ButtonSprite(camera.getWidth() * 0.07f,camera.getHeight() * 0.8f,resourcesManager.levelChoiceArrowLeftRegion,vbom,new ButtonSprite.OnClickListener(){
    @Override public void onClick(    ButtonSprite pButtonSprite,    float pTouchAreaLocalX,    float pTouchAreaLocalY){
      if (currentScreen > 0) {
        currentScreen--;
        entityToFollow.registerEntityModifier(new MoveXModifier(0.5f,entityToFollow.getX(),currentScreen * camera.getWidth() + camera.getWidth() / 2));
        if (currentScreen == 0) {
          leftArrow.setVisible(false);
        }
        rightArrow.setVisible(true);
      }
    }
  }
);
  leftArrow.setVisible(false);
  if (screenCount == 1) {
    rightArrow.setVisible(false);
  }
  HUD arrowHud=new HUD();
  arrowHud.attachChild(leftArrow);
  arrowHud.attachChild(rightArrow);
  arrowHud.registerTouchArea(leftArrow);
  arrowHud.registerTouchArea(rightArrow);
  camera.setHUD(arrowHud);
}