diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp --- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -1365,11 +1365,8 @@ public: */ virtual void OnInvalidateData(int data = 0, bool gui_scope = true) { - if (!gui_scope) return; - /* We can only set the trigger for resorting/rebuilding. - * We cannot safely resort at this point, as there might be multiple scheduled invalidations, - * and a rebuild needs to be done first though it is scheduled later. */ if (data == 0) { + /* This needs to be done in command-scope to enforce rebuilding before resorting invalid data */ this->industries.ForceRebuild(); } else { this->industries.ForceResort();