if ($status['name'] != $gwname) is also false so it never enters the if condition. If I change != to ==, it will enter the function twice which is wrong. What is this check really supposed to do? If it does not enter this function, you will always get:

Edit: Part of the problem is that the gateway groups are not saved using WAN, WAN2 names, rather WAN and OPT1, OPT2. Second issue is that I do not know if the comparison between WAN != wan is case insensitive or not.

Which snapshot is it? Maybe you got one that was between some apinger changes.

By the way, there shouldn't really be any issues of whether the comparison is case sensitive or not. The problem appears to be that each is using a name from a different type of source. There are functions to do conversions between them, which could be used here if necessary.

I'm definitely using a very recent snapshot (6/22/2010) and I have been monitoring the repository and I have not seen any apinger/gateway/loadbalancer updates or I would have updated to the snapshot to test.

I'm wondering why not many people see this problem? I already started from a fresh config file with 6/22.