diff --git a/indra/llappearance/llavatarappearance.h b/indra/llappearance/llavatarappearance.h
old mode 100644
new mode 100755
index 5726ff62d10fac718218e56686399dc9cc859c09..2aa43d25d2dbc59eb532069c5de0b8bfcc77d1c0
--- a/indra/llappearance/llavatarappearance.h
+++ b/indra/llappearance/llavatarappearance.h
@@ -106,7 +106,9 @@ class LLAvatarAppearance : public LLCharacter
 public:
 	virtual bool 	isSelf() const { return false; } // True if this avatar is for this viewer's agent
 	virtual BOOL	isValid() const;
-	virtual BOOL	isUsingBakedTextures() const = 0;
+	virtual BOOL	isUsingServerBakes() const = 0;
+	virtual BOOL	isUsingLocalAppearance() const = 0;
+	virtual BOOL	isEditingAppearance() const = 0;
 
 	bool isBuilt() const { return mIsBuilt; }
 
diff --git a/indra/llappearance/lltexlayerparams.cpp b/indra/llappearance/lltexlayerparams.cpp
index 82c92b5a5ea1975bb9eb47317ed51bf30e2af219..651468b1a554e3c13d368726c628533b337ca790 100644
--- a/indra/llappearance/lltexlayerparams.cpp
+++ b/indra/llappearance/lltexlayerparams.cpp
@@ -176,7 +176,7 @@ void LLTexLayerParamAlpha::setWeight(F32 weight, BOOL upload_bake)
 
 		if ((mAvatarAppearance->getSex() & getSex()) && (mAvatarAppearance->isSelf() && !mIsDummy)) // only trigger a baked texture update if we're changing a wearable's visual param.
 		{
-			if (!mAvatarAppearance->isUsingBakedTextures())
+			if (!mAvatarAppearance->isUsingServerBakes())
 			{
 				upload_bake = FALSE;
 			}
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 4e05836bca2f0d7ce276daf9d3780030dd146322..fe48abc25a2045244d087005f329bee52629ff53 100755
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -3630,7 +3630,8 @@ void LLAgent::processAgentCachedTextureResponse(LLMessageSystem *mesgsys, void *
 		return;
 	}
 
-	if (isAgentAvatarValid() && !gAgentAvatarp->isUsingBakedTextures())
+	// FIXME DRANO wrong check
+	if (isAgentAvatarValid() && !gAgentAvatarp->isUsingServerBakes())
 	{
 		// ignore baked textures when in customize mode
 		return;
@@ -4262,7 +4263,7 @@ void LLAgent::sendAgentSetAppearance()
 {
 	if (!isAgentAvatarValid() || (getRegion() && getRegion()->getCentralBakeVersion())) return;
 
-	if (gAgentQueryManager.mNumPendingQueries > 0 && (isAgentAvatarValid() && gAgentAvatarp->isUsingBakedTextures())) 
+	if (gAgentQueryManager.mNumPendingQueries > 0 && (isAgentAvatarValid() && gAgentAvatarp->isUsingServerBakes())) 
 	{
 		return;
 	}
diff --git a/indra/newview/llviewertexlayer.cpp b/indra/newview/llviewertexlayer.cpp
index f516562c2fd8f77684971fb9c29976ba2e7c1268..463906d3ef614502c0afba7672a387e839b5d3ee 100644
--- a/indra/newview/llviewertexlayer.cpp
+++ b/indra/newview/llviewertexlayer.cpp
@@ -285,7 +285,8 @@ BOOL LLViewerTexLayerSetBuffer::uploadInProgress() const
 BOOL LLViewerTexLayerSetBuffer::isReadyToUpload() const
 {
 	if (!gAgentQueryManager.hasNoPendingQueries()) return FALSE; // Can't upload if there are pending queries.
-	if (isAgentAvatarValid() && !gAgentAvatarp->isUsingBakedTextures()) return FALSE; // Don't upload if avatar is using composites.
+	// FIXME DRANO
+	if (isAgentAvatarValid() && !gAgentAvatarp->isUsingServerBakes()) return FALSE; // Don't upload if avatar is using composites.
 
 	BOOL ready = FALSE;
 	if (getViewerTexLayerSet()->isLocalTextureDataFinal())
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 0cad2e3ec6896fe80f65f5c5d84501ce840bda15..aa3cf3bb9c904d09a73f74d7fbd24cd0fef746ed 100755
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -4731,7 +4731,8 @@ void LLViewerWindow::restoreGL(const std::string& progress_message)
 		gResizeScreenTexture = TRUE;
 		gWindowResized = TRUE;
 
-		if (isAgentAvatarValid() && !gAgentAvatarp->isUsingBakedTextures())
+		// FIXME DRANO
+		if (isAgentAvatarValid() && !gAgentAvatarp->isUsingServerBakes())
 		{
 			LLVisualParamHint::requestHintUpdates();
 		}
diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h
index 96e87279b248e8981e22969fb98a854d50475d16..10c081cf68d588635817e72b14d75da1b628ea56 100755
--- a/indra/newview/llvoavatar.h
+++ b/indra/newview/llvoavatar.h
@@ -208,7 +208,6 @@ class LLVOAvatar :
 
 public:
 	virtual bool 	isSelf() const { return false; } // True if this avatar is for this viewer's agent
-	/*virtual*/BOOL	isUsingBakedTextures() const { return mUseServerBakes; } // e.g. false if in appearance edit mode		
 
 private: //aligned members
 	LL_ALIGN_16(LLVector4a	mImpostorExtents[2]);
@@ -636,7 +635,21 @@ class LLVOAvatar :
 	//--------------------------------------------------------------------
 public:
 	BOOL			getIsAppearanceAnimating() const { return mAppearanceAnimating; }
-	BOOL			isUsingLocalAppearance() const { return mUseLocalAppearance; }
+
+	// True if we are computing our appearance via local compositing
+	// instead of baked textures, as for example during wearable
+	// editing or when waiting for a subsequent server rebake.
+	/*virtual*/ BOOL	isUsingLocalAppearance() const { return mUseLocalAppearance; }
+
+	// True if this avatar should fetch its baked textures via the new
+	// appearance mechanism.
+	/*virtual*/ BOOL	isUsingServerBakes() const { return mUseServerBakes; }
+
+	// True if we are currently in appearance editing mode. Often but
+	// not always the same as isUsingLocalAppearance().
+	/*virtual*/ BOOL	isEditingAppearance() const { return mIsEditingAppearance; }
+
+	// FIXME review isUsingLocalAppearance uses, some should be isEditing instead.
 
 private:
 	BOOL			mAppearanceAnimating;
diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp
index c5bb4c370053ebf7d1dd4db676dcc8fffffc81b9..d6d1853becbf0ece785982f08e2ec0a84a06c46f 100755
--- a/indra/newview/llvoavatarself.cpp
+++ b/indra/newview/llvoavatarself.cpp
@@ -1274,7 +1274,8 @@ void LLVOAvatarSelf::localTextureLoaded(BOOL success, LLViewerFetchedTexture *sr
 			discard_level < local_tex_obj->getDiscard())
 		{
 			local_tex_obj->setDiscard(discard_level);
-			if (isUsingBakedTextures())
+			// FIXME DRANO
+			if (isUsingServerBakes())
 			{
 				requestLayerSetUpdate(index);
 			}
@@ -1758,7 +1759,8 @@ void LLVOAvatarSelf::setLocalTexture(ETextureIndex type, LLViewerTexture* src_te
 					local_tex_obj->setDiscard(tex_discard);
 					if (isSelf())
 					{
-						if (gAgentAvatarp->isUsingBakedTextures())
+						// FIXME DRANO
+						if (gAgentAvatarp->isUsingServerBakes())
 						{
 							requestLayerSetUpdate(type);
 						}