Blocked task resumption from Suspended State

I’m looking at the state diagram:

The diagram shows that a resumed task goes from the Suspended to the Ready state. What if the suspended task was initially blocked on a semaphore before being suspended? Wouldn’t a task blocking on a semaphore return to the Blocked state? Or does the task fail in this case once it goes from Ready to Running?

I believe the state diagram shows the transitions correctly - so into the Ready state - but there are subtitles.

If the task were previously in the Blocked state to, just as an example, wait for a message on a queue, when it exits the suspended state and enters the ready state it will still be inside the queue receive function. When it next enters the Running state, it will run, but if it finds the queue is still empty it will simply loop back and re-enter the Blocked state to wait the rest of its original block time. So it will never have left the queue receive function, and an observer would never really notice that it had made those transitions.

Thanks for clarifying. Your answer makes sense because the queue could have changed substantially since the task was suspended.