diff --git a/src/madl_etrck.mad b/src/madl_etrck.mad index 506e5b17a..e727ea05d 100644 --- a/src/madl_etrck.mad +++ b/src/madl_etrck.mad @@ -299,7 +299,7 @@ local function track_drift (elm, m) end local function track_multipole (elm, m) - get_mult(elm, m) ; adj_mult(m) + get_mult(elm, m, 1) ; adj_mult(m) if m.nmul == 0 and abs(elm.ksi) < minstr then return track_marker(elm, m) end @@ -618,7 +618,7 @@ local function track_solenoid (elm, m) end if l < minlen then - if model == "DKD" and lrad ~= 0 then + if model == "DKD" and lrad > minlen then return track_multipole(elm, m) end errorf("invalid solenoid '%s' length=%.4e [m] (>0 expected)", elm.name, l)