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);