It's actually working as intended. When the queue dialog is displayed, the game checks the status only once every 30 seconds. When you cancel it and try again, chances are the queue is already gone. If the queue is still there, canceling and trying again will just display the queue again.