I can reproduce a variant of this bug. The problem is that the BuildChooser takes the last build if there are no builds found, and that build may not exist. Specifically, I am using Jenkins to auto-merge branches, and once merged, the original branch is deleted. This leads to a stream of 'success, failure' builds from Jenkins (i.e. if the merge build succeeds, Jenkins always runs a second build, and that second build always fails).
To reproduce: pre-merge, and a post commit + 'git push :remotebranch'.
I can provide you with the scripts that duplicate this behavior if you wish. I had to roll my own pre/post scripts to make it do what I wanted...
My personal preference would be a different strategy, making a build chooser that chooses nothing if it finds no builds, rather than choosing the last build. This means that you won't be able to kick off a manual build if there are no builds that match. This probably means that it can't be the default.
Are you still seeing this? Can you give me a more detailed example so that I can try to reproduce this?