diff --git a/indra/viewer_components/updater/llupdatechecker.cpp b/indra/viewer_components/updater/llupdatechecker.cpp
index 39f68ac0f599ef0be2e3569e214884d6aeaa0600..1e768f52d9d5ebac40a3e5eadbbbaf3f1e49029b 100755
--- a/indra/viewer_components/updater/llupdatechecker.cpp
+++ b/indra/viewer_components/updater/llupdatechecker.cpp
@@ -108,25 +108,30 @@ void LLUpdateChecker::Implementation::checkVersion(std::string const & hostUrl,
 												   unsigned char       uniqueid[MD5HEX_STR_SIZE],
 												   bool                willing_to_test)
 {
-	llassert(!mInProgress);
-	
-	mInProgress = true;
-
-	mHostUrl     	 = hostUrl;
-	mServicePath 	 = servicePath;
-	mChannel     	 = channel;
-	mVersion     	 = version;
-	mPlatform        = platform;
-	mPlatformVersion = platform_version;
-	memcpy(mUniqueId, uniqueid, MD5HEX_STR_SIZE);
-	mWillingToTest   = willing_to_test;
+	if (!mInProgress)
+	{
+		mInProgress = true;
+
+		mHostUrl     	 = hostUrl;
+		mServicePath 	 = servicePath;
+		mChannel     	 = channel;
+		mVersion     	 = version;
+		mPlatform        = platform;
+		mPlatformVersion = platform_version;
+		memcpy(mUniqueId, uniqueid, MD5HEX_STR_SIZE);
+		mWillingToTest   = willing_to_test;
 	
-	mProtocol = sProtocolVersion;
+		mProtocol = sProtocolVersion;
 
-	std::string checkUrl = buildUrl(hostUrl, servicePath, channel, version, platform, platform_version, uniqueid, willing_to_test);
-	LL_INFOS("UpdaterService") << "checking for updates at " << checkUrl << LL_ENDL;
+		std::string checkUrl = buildUrl(hostUrl, servicePath, channel, version, platform, platform_version, uniqueid, willing_to_test);
+		LL_INFOS("UpdaterService") << "checking for updates at " << checkUrl << LL_ENDL;
 	
-	mHttpClient.get(checkUrl, this);
+		mHttpClient.get(checkUrl, this);
+	}
+	else
+	{
+		LL_WARNS("UpdaterService") << "attempting to restart a check when one is in progress; ignored" << LL_ENDL;
+	}
 }
 
 void LLUpdateChecker::Implementation::completed(U32 status,