diff --git a/bridge/advtrains.lua b/bridge/advtrains.lua
index a7d2c98d837b4aa67d7dba6d1e02b9b17f19aee6..2d57d6fa622e2e38c986922bce1740c0e67143ea 100644
--- a/bridge/advtrains.lua
+++ b/bridge/advtrains.lua
@@ -36,7 +36,7 @@ mapserver.bridge.add_advtrains = function(data)
     --print(dump(entry))
     if entry[1].signal then
       local tcb = entry[1]
-      local green = tcb.aspect and tcb.aspect.main and tcb.aspect.main.free
+      local green = tcb.aspect and tcb.aspect.main ~= 0
       table.insert(data.signals, {
 	      pos = tcb.signal,
 	      green = green