diff --git a/indra/newview/llviewerwearable.cpp b/indra/newview/llviewerwearable.cpp
index bd277349d6272a3d3d2dc1b9fa7257d2f92d3fec..440548046fbeefef56ca64f80cccf8a5f025b1be 100755
--- a/indra/newview/llviewerwearable.cpp
+++ b/indra/newview/llviewerwearable.cpp
@@ -38,6 +38,7 @@
 #include "llavatarappearancedefines.h"
 #include "llviewerwearable.h"
 #include "llviewercontrol.h"
+#include "llviewerregion.h"
 
 using namespace LLAvatarAppearanceDefines;
 
@@ -322,8 +323,9 @@ void LLViewerWearable::writeToAvatar(LLAvatarAppearance *avatarp)
 
 	if (!viewer_avatar->isValid()) return;
 
-    // FIXME restrict this check to server bake regions?
-	if (!viewer_avatar->isUsingLocalAppearance())
+	if (viewer_avatar->getRegion() &&
+		(viewer_avatar->getRegion()->getCentralBakeVersion()>0) &&
+		!viewer_avatar->isUsingLocalAppearance())
 	{
 		return;
 	}