Busydetect when on hold (FXO)

hello everyone,

In an PSTN call (using FXO card) using Asterisk if the remote end hangs up asterisk correctly detects the busy tone and hangs up.

But if I put the call on hold (with music on hold playing) and the remote end hangs up asterisk does not detect the busy tone and hence does not hang up.

How can I resolve this?
thanks,
harish