Andrew tells me this is probably due to nblist_autoupdate.
The minimizer knows the neighbor lists – what residues interact with what other residues. Our energy terms have finite “reaches” beyond which we say the energy is zero, to speed computation. These lists of neighbors are cached. Minimization is expected to produce small changes, so these neighbors are not expected to change.
When you start with an awful conformation, the minimizer is encouraged to take big steps. These large steps can take it out of the initial neighbors’ range, such that the neighbor list is out of date. The new neighbors are not calculated, so the minimizer is unaware it has gone uphill.
There’s a command line flag to fix this, nblist_autoupdate. This causes it to update the neighbor list as it goes. There’s probably some way to access this in MinMover…