How to link multiple SSH tunnels together in Linux

Just to answer my own question, for some reason you have to force ipv4 i.e. from A

ssh -4 -L 5901:localhost:5900 B

That works.