I have the same annoying behaviour in PLD 12.0.7.1837 (32 and 64bit),
but this version has a little enhancement:
only at the first subprogram folding all the remaining subprograms, form the second only the selected subprogram folded.

It would be great if at the first subprogram only that subprogram can be folded or should be there an option to fold only that subprogram, eg. two [-] sign: one for all and one for the first only.