Arrrggghhh... I hate intermittent errors. It does appear that every so often the wrong counter is updated. I have only ever seen it happen when the ball is going off the left hand side though - has it happened the other way round to you? So why is this happening. It appears that your first counter is overlapping your second so that when you call getObjectsAt (310, 15, Counter.class) it returns two items in the list and every so often the items are in a different order so the wrong counter gets updated. A quick fix seems to be to change that piece of code to getObjectAt(340, 15, Counter.class).get(0); This should work because only the second counter is found that far along the screen so the list only contains the correct counter. See if that fixes the error for you. The better fix would appear to be to re-write your counter class so that the one object deals with both scores and you call methods on it like addToLeftScore etc. This way there can't be any confusion about which counter you are adding to! I'm fairly certain either fix will work but obviously the first one is a lot quicker to implement - just remember to change the numbers for every other call of getObjectAt.