The crystal structures of human S100B in the zinc- and calcium-loaded state at three pH values reveal zinc ligand swapping.