I've had this problem, sounds like bad terminal connections. Try cleaning them with a wire brush / sand paper and using some of this type of stuff: