The problem I believe is in the code most likely. The server knows it has two NICs but if the request does NOT request or send a packet to the secondar subnet then the server will not try to go through the secondary NIC. The server must see the request to go to the secondary subnet and if it doesn't it will use the primary NIC.