Index: src/engine.cpp =================================================================== --- src/engine.cpp (revision 27595) +++ src/engine.cpp (working copy) @@ -85,6 +85,7 @@ this->type = type; this->grf_prop.local_id = base; this->list_position = base; + this->preview_company = INVALID_COMPANY; /* Check if this base engine is within the original engine data range */ if (base >= _engine_counts[type]) { @@ -902,7 +903,7 @@ CommandCost CmdWantEnginePreview(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) { Engine *e = Engine::GetIfValid(p1); - if (e == NULL || e->preview_company != _current_company) return CMD_ERROR; + if (e == NULL || !(e->flags & ENGINE_EXCLUSIVE_PREVIEW) || e->preview_company != _current_company) return CMD_ERROR; if (flags & DC_EXEC) AcceptEnginePreview(p1, _current_company);