  We describe a new switch to reduce dissipation from artificial resistivity in
Smoothed Particle Magnetohydrodynamics simulations. The switch utilises the
gradient of the magnetic field to detect shocks, setting alpha_B = h |gradB| /
|B|. This measures the relative degree of discontinuity, and the switch is not
dependent on the absolute field strength. We present results comparing the new
resistivity switch to the switch of Price & Monaghan (2005), showing that it is
more robust in capturing shocks (especially in weak fields), while leading to
less overall dissipation. The design of this switch is generalised to create
similar switches for artificial viscosity and thermal conduction, with proof of
concept tests conducted on a Sod shock tube and Kelvin-Helmholtz instabilities.
