diff --git a/dll/win32/dhcpcsvc/dhcp/api.c b/dll/win32/dhcpcsvc/dhcp/api.c index 02add5033d8..26723f9c38e 100644 --- a/dll/win32/dhcpcsvc/dhcp/api.c +++ b/dll/win32/dhcpcsvc/dhcp/api.c @@ -102,6 +102,8 @@ DWORD DSReleaseIpAddressLease( PipeSendFunc Send, COMM_DHCP_REQ *Req ) { if( Adapter ) { if (Adapter->NteContext) DeleteIPAddress( Adapter->NteContext ); + if (Adapter->RouterMib.dwForwardNextHop) + DeleteIpForwardEntry( &Adapter->RouterMib ); proto = find_protocol_by_adapter( &Adapter->DhclientInfo ); if (proto) @@ -170,6 +172,9 @@ DWORD DSStaticRefreshParams( PipeSendFunc Send, COMM_DHCP_REQ *Req ) { if( Adapter ) { if (Adapter->NteContext) DeleteIPAddress( Adapter->NteContext ); + if (Adapter->RouterMib.dwForwardNextHop) + DeleteIpForwardEntry( &Adapter->RouterMib ); + Adapter->DhclientState.state = S_STATIC; proto = find_protocol_by_adapter( &Adapter->DhclientInfo ); if (proto)