Index: src/ch/UpdateChecker.cpp
===================================================================
diff -u -N -r1f27a2022090cf7aaf827a3f1ad90d6fe0038518 -r50007f112b77cba170e6c427fee5428bda2d9dc5
--- src/ch/UpdateChecker.cpp	(.../UpdateChecker.cpp)	(revision 1f27a2022090cf7aaf827a3f1ad90d6fe0038518)
+++ src/ch/UpdateChecker.cpp	(.../UpdateChecker.cpp)	(revision 50007f112b77cba170e6c427fee5428bda2d9dc5)
@@ -70,7 +70,7 @@
 /// @param[in] bCheckBeta   States if we are interested in beta products.
 /// @return    True if operation started, false otherwise.
 // ============================================================================
-bool CUpdateChecker::AsyncCheckForUpdates(const wchar_t* pszSite, const wchar_t* pszLanguage, UpdateVersionInfo::EVersionType eUpdateChannel, bool bOnlyIfConnected)
+bool CUpdateChecker::AsyncCheckForUpdates(const wchar_t* pszSite, const wchar_t* pszLanguage, UpdateVersionInfo::EVersionType eUpdateChannel, bool bOnlyIfConnected, bool bSendHeaders)
 {
 	if(!pszSite)
 		return false;
@@ -86,6 +86,7 @@
 	m_eResult = eResult_Undefined;
 	m_eUpdateChannel = eUpdateChannel;
 	m_strLanguage = pszLanguage;
+	m_bSendHeaders = bSendHeaders;
 
 	::ResetEvent(m_hKillEvent);
 
@@ -96,6 +97,7 @@
 		m_strSite.Empty();
 		m_eResult = eResult_Undefined;
 		m_eUpdateChannel = UpdateVersionInfo::eStable;
+		m_bSendHeaders = true;
 		return false;
 	}
 
@@ -190,6 +192,13 @@
 	::LeaveCriticalSection(&m_cs);
 }
 
+void CUpdateChecker::SetSendHeaders(bool bSendHeaders)
+{
+	::EnterCriticalSection(&m_cs);
+	m_bSendHeaders = bSendHeaders;
+	::LeaveCriticalSection(&m_cs);
+}
+
 // ============================================================================
 /// CUpdateChecker::GetSiteAddress
 /// @date 2009/04/18
@@ -263,7 +272,10 @@
 
 		// open the connection and try to get to the file
 		std::wstring wstrUserAgent = pUpdateChecker->m_tUpdateHeaders.GetUserAgent();
-		std::wstring wstrHeaders = pUpdateChecker->m_tUpdateHeaders.GetHeaders((PCTSTR)pUpdateChecker->m_strLanguage, pUpdateChecker->m_eUpdateChannel);
+		std::wstring wstrHeaders;
+		if(pUpdateChecker->GetSendHeaders())
+			wstrHeaders = pUpdateChecker->m_tUpdateHeaders.GetHeaders((PCTSTR)pUpdateChecker->m_strLanguage, pUpdateChecker->m_eUpdateChannel);
+
 		HRESULT hResult = pUpdateChecker->m_httpFile.Open(strSite, wstrUserAgent.c_str(), wstrHeaders.c_str());
 		if(SUCCEEDED(hResult))
 		{