diff --git a/indra/newview/llaisapi.cpp b/indra/newview/llaisapi.cpp
index 98a2bb436c01211081c2b3995c8baaa3ec7493ac..648212177b761b1311711066e42da28f953eb4dd 100644
--- a/indra/newview/llaisapi.cpp
+++ b/indra/newview/llaisapi.cpp
@@ -966,7 +966,10 @@ void AISUpdate::doUpdate()
             // the AIS version should be considered the true version. Adjust 
             // our local category model to reflect this version number.  Otherwise 
             // it becomes possible to get stuck with the viewer being out of 
-            // sync with the inventory system.
+            // sync with the inventory system.  Under normal circumstances 
+            // inventory COF is maintained on the viewer through calls to 
+            // LLInventoryModel::accountForUpdate when a changing operation 
+            // is performed.  This occasionally gets out of sync however.
             cat->setVersion(version);
 		}
 	}
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 6c510f13c85560a12db913bc0e5da2e2acd10dfc..a1d97863210ef2ff418009298d6b30ddf317972e 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -70,7 +70,7 @@
 namespace 
 {
     const S32   BAKE_RETRY_MAX_COUNT = 5;
-    const F32   BAKE_RETRY_TIMEOUT = 4.0F;
+    const F32   BAKE_RETRY_TIMEOUT = 2.0F;
 }
 
 // *TODO$: LLInventoryCallback should be deprecated to conform to the new boost::bind/coroutine model.
@@ -3361,15 +3361,9 @@ void LLAppearanceMgr::requestServerAppearanceUpdate()
 {
     if (!mOutstandingAppearanceBakeRequest)
     {
-#ifdef APPEARANCEBAKE_AS_IN_AIS_QUEUE
         mRerequestAppearanceBake = false;
         LLCoprocedureManager::CoProcedure_t proc = boost::bind(&LLAppearanceMgr::serverAppearanceUpdateCoro, this, _1);
         LLCoprocedureManager::instance().enqueueCoprocedure("AIS", "LLAppearanceMgr::serverAppearanceUpdateCoro", proc);
-#else
-        LLCoros::instance().launch("serverAppearanceUpdateCoro", 
-            boost::bind(&LLAppearanceMgr::serverAppearanceUpdateCoro, this));
-
-#endif
     }
     else
     {
@@ -3377,17 +3371,8 @@ void LLAppearanceMgr::requestServerAppearanceUpdate()
     }
 }
 
-#ifdef APPEARANCEBAKE_AS_IN_AIS_QUEUE
 void LLAppearanceMgr::serverAppearanceUpdateCoro(LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t &httpAdapter)
-#else
-void LLAppearanceMgr::serverAppearanceUpdateCoro()
-#endif
 {
-#ifndef APPEARANCEBAKE_AS_IN_AIS_QUEUE
-    LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t httpAdapter(
-        new LLCoreHttpUtil::HttpCoroutineAdapter("serverAppearanceUpdateCoro", LLCore::HttpRequest::DEFAULT_POLICY_ID));
-#endif
-
     mRerequestAppearanceBake = false;
     if (!gAgent.getRegion())
     {
diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h
index f401df09492ec1823d42a7e1d3d727e14f410c0b..7069da735294761b697ba00e6c937f4389456f14 100644
--- a/indra/newview/llappearancemgr.h
+++ b/indra/newview/llappearancemgr.h
@@ -36,8 +36,6 @@
 #include "llviewerinventory.h"
 #include "llcorehttputil.h"
 
-#define  APPEARANCEBAKE_AS_IN_AIS_QUEUE 1
-
 class LLWearableHoldingPattern;
 class LLInventoryCallback;
 class LLOutfitUnLockTimer;
@@ -230,11 +228,7 @@ class LLAppearanceMgr: public LLSingleton<LLAppearanceMgr>
 
 
 private:
-#ifdef APPEARANCEBAKE_AS_IN_AIS_QUEUE
     void serverAppearanceUpdateCoro(LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t &httpAdapter);
-#else
-    void serverAppearanceUpdateCoro();
-#endif
 
     static void debugAppearanceUpdateCOF(const LLSD& content);
 
diff --git a/indra/newview/llavatarrendernotifier.cpp b/indra/newview/llavatarrendernotifier.cpp
index e2ffdec874a1e377f3245d1caa75cedc9f78fd70..24934fdb73c8008e910a60b7029816b3d43871db 100644
--- a/indra/newview/llavatarrendernotifier.cpp
+++ b/indra/newview/llavatarrendernotifier.cpp
@@ -207,7 +207,6 @@ void LLAvatarRenderNotifier::updateNotificationState()
         mLastSkeletonSerialNum = gAgentAvatarp->mLastSkeletonSerialNum;
     }
     else if (mLastCofVersion >= 0
-//        && (mLastCofVersion != gAgentAvatarp->mLastUpdateRequestCOFVersion // RIDER: Check this!
         && (mLastCofVersion != LLAppearanceMgr::instance().getCOFVersion()
         || mLastSkeletonSerialNum != gAgentAvatarp->mLastSkeletonSerialNum))
     {
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 2a91d47868101e0a9cb7c36dfc036bc632885c52..672d153e51c193323c5b906fcb216ea28d4e8c72 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -7357,7 +7357,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
 
         S32 aisCOFVersion(LLAppearanceMgr::instance().getCOFVersion());
 
-        LL_INFOS("Avatar") << "handling self appearance message #" << thisAppearanceVersion <<
+        LL_DEBUGS("Avatar") << "handling self appearance message #" << thisAppearanceVersion <<
             " (highest seen #" << mLastUpdateReceivedCOFVersion <<
             ") (AISCOF=#" << aisCOFVersion << ")" << LL_ENDL;
 
@@ -7376,46 +7376,6 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
 
     }
 
-#if 0
-	S32 this_update_cof_version = contents.mCOFVersion;
-	S32 last_update_request_cof_version = mLastUpdateRequestCOFVersion;
-
-	if( isSelf() )
-	{
-		LL_DEBUGS("Avatar") << "this_update_cof_version " << this_update_cof_version
-				<< " last_update_request_cof_version " << last_update_request_cof_version
-				<<  " my_cof_version " << LLAppearanceMgr::instance().getCOFVersion() << LL_ENDL;
-
-        if (largestSelfCOFSeen > this_update_cof_version)
-        {
-            LL_WARNS("Avatar") << "Already processed appearance for COF version " <<
-                largestSelfCOFSeen << ", discarding appearance with COF " << this_update_cof_version << LL_ENDL;
-            return;
-        }
-        largestSelfCOFSeen = this_update_cof_version;
-
-	}
-	else
-	{
-		LL_DEBUGS("Avatar") << "appearance message received" << LL_ENDL;
-	}
-
-	// Check for stale update.
-	if (isSelf()
-		&& (this_update_cof_version < last_update_request_cof_version))
-	{
-		LL_WARNS() << "Stale appearance update, wanted version " << last_update_request_cof_version
-				<< ", got " << this_update_cof_version << LL_ENDL;
-		return;
-	}
-
-	if (isSelf() && isEditingAppearance())
-	{
-		LL_DEBUGS("Avatar") << "ignoring appearance message while in appearance edit" << LL_ENDL;
-		return;
-	}
-#endif
-
 	// SUNSHINE CLEANUP - is this case OK now?
 	S32 num_params = contents.mParamWeights.size();
 	if (num_params <= 1)
@@ -7434,9 +7394,10 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
     if (isSelf())
     {
         // Note:
-        // RequestAgentUpdateAppearanceResponder::onRequestRequested()
-        // assumes that cof version is only updated with server-bake
-        // appearance messages.
+        // locally the COF is maintained via LLInventoryModel::accountForUpdate
+        // which is called from various places.  This should match the simhost's 
+        // idea of what the COF version is.  AIS however maintains its own version
+        // of the COF that should be considered canonical. 
         mLastUpdateReceivedCOFVersion = thisAppearanceVersion;
     }
 		
@@ -7561,7 +7522,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
 		// Got an update for some other avatar
 		// Ignore updates for self, because we have a more authoritative value in the preferences.
 		setHoverOffset(contents.mHoverOffset);
-		LL_INFOS("Avatar") << avString() << "setting hover to " << contents.mHoverOffset[2] << LL_ENDL;
+		LL_DEBUGS("Avatar") << avString() << "setting hover to " << contents.mHoverOffset[2] << LL_ENDL;
 	}
 
 	if (!contents.mHoverOffsetWasSet && !isSelf())