anchor.diff:      if aHouseID > 0 then
       begin
         H := fIDCache.GetHouse(aHouseID);
  -      if (H <> nil) and (H is TKMHouseBarracks) then
  +      if (H <> nil)
  +        and (H is TKMHouseBarracks)
  +        and not H.IsDestroyed
  +        and H.IsComplete then
           TKMHouseBarracks(H).CreateRecruitInside(False);
       end
       else
  
positive.code:     begin
        Res := WareIndexToType[aType];
        H := fIDCache.GetHouse(aHouseID);
        if H <> nil then
          //Store/barracks mix input/output (add to input, take from output) so we must process them together
          if H.ResCanAddToIn(Res) or H.ResCanAddToOut(Res) then
          begin
  
negative.code:     begin
        H := fIDCache.GetHouse(aHouseID);
        if (H <> nil)
          and not H.IsDestroyed //Allow to change delivery mode for not completed houses
          and gRes.Houses[H.HouseType].AcceptsWares then
          H.SetDeliveryModeInstantly(TKMDeliveryMode(aDeliveryMode));
      end
  