The OV bit is non-sticky. Therefore, after an overflow-enabled instruction executes, if an overflow does *not* occur, then OV is cleared. SO is sticky however, so it staying set in this case is correct.