If the bank screwed up and gave me £500 which i spent, do i have to pay it back?

I am with ulster bank in northern ireland. im currently studying in scotland and so i called them and asked them to transfer all of the money in my current account into my student account. the reason for this is that with my current account i only have a cash card which allows me to withdraw from an atm but with my student account i have a maestro card which i can do more with. after i called them i realised they hadnt transfered the money yet so i withdrew 500 from my current account to pay for my rent and buy some clothes and so on. i got a letter this morning saying that i am overdrawn by £500 on my current account. i believe that what they did was transferred the amount that was in my current account at the time i called them into my student account, even though there was less than this when the transfer actually happened, which was the next day. i didnt realise there was more in my student account and went ahead and spent this money on xmas presents and now... ...they want £500 of me which i dont have. they are the ones who screwed up. is there anything i can do? cheers
Answer
Happy christmas