No, as I said above, we don't use "keep" with "heart" either - that's why I had suggested "holds", but I don't know if that's an accurate translation (I don't speak Dutch).
I think holds would be fine too. "bewaren" means "to keep safe" here, but I don't think that would be the best translation for this, it doesn't sound right