diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index 7150089380c1db2e8ba9c8d2a247561d569c5627..814b5e22655f4ca5a114cdaba9e3f1f0f5a9ffdf 100755
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -387,7 +387,7 @@ LLViewerRegion::LLViewerRegion(const U64 &handle,
 	mSimAccess( SIM_ACCESS_MIN ),
 	mBillableFactor(1.0),
 	mMaxTasks(DEFAULT_MAX_REGION_WIDE_PRIM_COUNT),
-	mCentralBakeVersion(0),
+	mCentralBakeVersion(1),
 	mClassID(0),
 	mCPURatio(0),
 	mColoName("unknown"),
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 68ab25abcaf6b3c9a45567bda8d47d76fdcc0c58..49bbf97a2397859afa029bd0ec21d6e172b3c11c 100755
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -6837,7 +6837,6 @@ void LLVOAvatar::parseAppearanceMessage(LLMessageSystem* mesgsys, LLAppearanceMe
 	}
 }
 
-// SUNSHINE CLEANUP - OK to remove the version = 0 case, assume we're at least 1?
 bool resolve_appearance_version(const LLAppearanceMessageContents& contents, S32& appearance_version)
 {
 	appearance_version = -1;
@@ -6848,19 +6847,18 @@ bool resolve_appearance_version(const LLAppearanceMessageContents& contents, S32
 	{
 		llwarns << "inconsistent appearance_version settings - field: " <<
 			contents.mAppearanceVersion << ", param: " <<  contents.mParamAppearanceVersion << llendl;
-		return false;
 	}
-	if (contents.mParamAppearanceVersion >= 0) // use visual param if available.
+	if (contents.mParamAppearanceVersion > 0) // use visual param if available.
 	{
 		appearance_version = contents.mParamAppearanceVersion;
 	}
-	if (contents.mAppearanceVersion >= 0)
+	else if (contents.mAppearanceVersion > 0)
 	{
 		appearance_version = contents.mAppearanceVersion;
 	}
-	if (appearance_version < 0) // still not set, go with 0.
+	else // still not set, go with 0.
 	{
-		appearance_version = 0;
+		appearance_version = 1;
 	}
 	LL_DEBUGS("Avatar") << "appearance version info - field " << contents.mAppearanceVersion
 						<< " param: " << contents.mParamAppearanceVersion
@@ -6899,6 +6897,8 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
 		llwarns << "bad appearance version info, discarding" << llendl;
 		return;
 	}
+	llassert(appearance_version > 0);
+
 	S32 this_update_cof_version = contents.mCOFVersion;
 	S32 last_update_request_cof_version = mLastUpdateRequestCOFVersion;
 
@@ -6908,15 +6908,6 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
 		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() << llendl;
-
-		if (getRegion() && (getRegion()->getCentralBakeVersion()==0))
-		{
-			llwarns << avString() << "Received AvatarAppearance message for self in non-server-bake region" << llendl;
-		}
-		if( mFirstTEMessageReceived && (appearance_version == 0))
-		{
-			return;
-		}
 	}
 	else
 	{
@@ -6925,7 +6916,6 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
 
 	// Check for stale update.
 	if (isSelf()
-		&& (appearance_version>0)
 		&& (this_update_cof_version < last_update_request_cof_version))
 	{
 		llwarns << "Stale appearance update, wanted version " << last_update_request_cof_version
@@ -6939,6 +6929,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
 		return;
 	}
 
+	// SUNSHINE CLEANUP - is this case OK now?
 	S32 num_params = contents.mParamWeights.size();
 	if (num_params <= 1)
 	{
@@ -6950,15 +6941,13 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
 		return;
 	}
 
-	// No backsies zone - if we get here, the message should be valid and usable.
-	if (appearance_version > 0)
-	{
-		// Note:
-		// RequestAgentUpdateAppearanceResponder::onRequestRequested()
-		// assumes that cof version is only updated with server-bake
-		// appearance messages.
-		mLastUpdateReceivedCOFVersion = this_update_cof_version;
-	}
+	// No backsies zone - if we get here, the message should be valid and usable, will process.
+
+	// Note:
+	// RequestAgentUpdateAppearanceResponder::onRequestRequested()
+	// assumes that cof version is only updated with server-bake
+	// appearance messages.
+	mLastUpdateReceivedCOFVersion = this_update_cof_version;
 		
 	applyParsedTEMessage(contents.mTEContents);
 
diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp
index 992ebdb1b4bdeb6129e5d2454d581ed2515cd482..97429329a89bdaf5fba60acc68c8aa76128e930d 100755
--- a/indra/newview/llvoavatarself.cpp
+++ b/indra/newview/llvoavatarself.cpp
@@ -2808,6 +2808,7 @@ void LLVOAvatarSelf::onCustomizeEnd(bool disable_camera_switch)
 	if (isAgentAvatarValid())
 	{
 		gAgentAvatarp->mIsEditingAppearance = false;
+		// SUNSHINE CLEANUP - should no longer happen
 		if (gAgentAvatarp->getRegion() && !gAgentAvatarp->getRegion()->getCentralBakeVersion())
 		{
 			// FIXME DRANO - move to sendAgentSetAppearance, make conditional on upload complete.