Index: src/ch/UpdateChecker.cpp
===================================================================
diff -u -N -r9f104b1c0d552cbe2d1c6b799388af53acce8228 -ra8265d43e06aeec228ce8f19b138ed1b05726cbd
--- src/ch/UpdateChecker.cpp	(.../UpdateChecker.cpp)	(revision 9f104b1c0d552cbe2d1c6b799388af53acce8228)
+++ src/ch/UpdateChecker.cpp	(.../UpdateChecker.cpp)	(revision a8265d43e06aeec228ce8f19b138ed1b05726cbd)
@@ -101,8 +101,8 @@
 	}
 
 	m_dwExpectedState = INTERNET_STATUS_REQUEST_COMPLETE;
-	m_hOpenUrl = ::InternetOpenUrl(m_hInternet, pszPath, NULL, 0, INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_UI | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_RELOAD, (DWORD_PTR)this);
-	if(!m_hOpenUrl)
+	HINTERNET hOpenUrl = ::InternetOpenUrl(m_hInternet, pszPath, NULL, 0, INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_UI | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_RELOAD, (DWORD_PTR)this);
+	if(!hOpenUrl)
 	{
 		m_dwError = ::GetLastError();
 		if(m_dwError != ERROR_IO_PENDING)
@@ -118,12 +118,13 @@
 		}
 	}
 	else
+	{
+		SetUrlHandle(hOpenUrl);
 		m_dwExpectedState = 0;		// everything has been completed
-
-	if(m_hOpenUrl)
 		::SetEvent(m_hFinishedEvent);
+	}
 
-	return m_hOpenUrl ? S_OK : S_FALSE;
+	return hOpenUrl ? S_OK : S_FALSE;
 }
 
 // ============================================================================