IsShelved not updating

I am using system.alarm.shelve() to shelve some alarms via a scipt. I have an OPC tag that tracks the value of IsShelved for the alarm. When I shelve the alarms it works fine, but when the shelving times out and the alarm is unshelved, the IsShelved value remains true.

Is there a different way to find out when an alarm returns to the Active list? IsActive stays true the whole time as well.