diff --git a/bridge/advtrains.lua b/bridge/advtrains.lua
index 6ed29ecf021c7e8b31935d6a3e76a53e98549de0..a7d2c98d837b4aa67d7dba6d1e02b9b17f19aee6 100644
--- a/bridge/advtrains.lua
+++ b/bridge/advtrains.lua
@@ -43,7 +43,7 @@ mapserver.bridge.add_advtrains = function(data)
       })
     elseif entry[2].signal then
       local tcb = entry[2]
-      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