diff --git a/simpeg/regularization/base.py b/simpeg/regularization/base.py index a5c59aee3f..3aa3a9cb86 100644 --- a/simpeg/regularization/base.py +++ b/simpeg/regularization/base.py @@ -983,8 +983,12 @@ def f_m(self, m): dfm_dl = self.mapping * self._delta_m(m) if self.units is not None and self.units.lower() == "radian": + # Cannot use the self.cell_gradient.sign() with rotated gradients, as partial + # gradients are fractional distances return ( - utils.mat_utils.coterminal(self.cell_gradient.sign() @ dfm_dl) + utils.mat_utils.coterminal( + (self.cell_gradient @ dfm_dl) * self._cell_distances + ) / self._cell_distances ) return self.cell_gradient @ dfm_dl