Miley Cyrus. Picture: Twitter

Miley Cyrus doesn't want to "make the same mistake" and let Liam Hemsworth go again.

The 'Malibu' hitmaker split from the 'Hunger Games' star in 2013 and they rekindled their romance a couple of years later and now the pop star is desperate to keep a hold of her boyfriend as she feels she "pushed him away" before.

A source said: "Liam one hundred percent has settled her down. I think Miley realised that she pushed him away and she regretted it. She doesn't want to make that same mistake again."

And the 24-year-old singer has been making a lot of changes in the recent months, including quitting smoking pot.

Rappers ready to battle it out with One Mic

The insider added to E! News: "Miley had been smoking pot going back to her teens, and it had become part of her entire persona. I was shocked she quit cold turkey like that, but we all felt like she had gone too far with it and it's healthy that she has dialed it back."

Meanwhile, Miley previously admitted she and Liam Hemsworth need to "refall for each other" after splitting.

She said recently: "I needed to change so much. And changing with someone else not changing like that is too hard. Suddenly you're like, 'I don't recognise you anymore.' We had to refall for each other.

Justin Bieber fails to impress

"They're going to talk about me if I come out of a restaurant with Liam. So why not put the power back in my relationship and say, 'This is how I feel?'

"Dating a musician [like me] is probably the worst thing ever, because you always end up ­having your shit in songs. It's just ­inevitable. But I'm just that way."

Bang Showbiz