The way to stop the camera from climbing would be to store each of the old positions in a variable, like oldX# etc. Then when the camera enters the collision area, you change the coordinates to the old one.
As for repositioning the camera, I'm not sure because I don't know how the camera works in your game. I would assume that it's trailing behind the car that you're driving, but in that case I wouldn't know if the collision would help at all, because the view might constantly change when you dont want it.
Its not a bug, its a feature!