use new weaken_symbol() to fix another real-world corner case