That suggests that the code is probably performing a naive flip, and the code pertaining to holds refuses to allow the "end" point to be set to a time earlier than the "start" point, ultimately setting the to the same location. At least it should be a relatively easy fix if that's the case.