diff --git a/src/msw/dialup.cpp b/src/msw/dialup.cpp index b4bb8d55ea..0114b7759e 100644 --- a/src/msw/dialup.cpp +++ b/src/msw/dialup.cpp @@ -947,8 +947,10 @@ bool wxDialUpManagerMSW::HangUp() return false; } - DWORD dwRet = ms_pfnRasHangUp(hRasConn); - if ( dwRet != 0 ) + // note that it's not an error if the connection had been already + // terminated + const DWORD dwRet = ms_pfnRasHangUp(hRasConn); + if ( dwRet != 0 && dwRet != ERROR_NO_CONNECTION ) { wxLogError(_("Failed to terminate the dialup connection: %s"), GetErrorString(dwRet).c_str());