diff -r e7ce559d8c94 -r 09427dbec1d8 hedgewars/uGears.pas --- a/hedgewars/uGears.pas Thu Jul 19 17:14:02 2012 -0400 +++ b/hedgewars/uGears.pas Thu Jul 19 17:34:18 2012 -0400 @@ -206,6 +206,13 @@ curHandledGear:= t; t:= curHandledGear^.NextGear; + if curHandledGear^.Message and gmRemoveFromList <> 0 then + begin + RemoveGearFromList(curHandledGear); + // since I can't think of any good reason this would ever be separate from a remove from list, going to keep it inside this block + if curHandledGear^.Message and gmAddToList <> 0 then InsertGearToList(curHandledGear); + curHandledGear^.Message:= curHandledGear^.Message and not (gmRemoveFromList or gmAddToList) + end; if curHandledGear^.Active then begin if curHandledGear^.RenderTimer and (curHandledGear^.Timer > 500) and ((curHandledGear^.Timer mod 1000) = 0) then