see #751 fixed the crash (index == -1), plus added logic to prevent infoNext being returned when shuffle is on