diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp
index 9123252f4c9f62bbd9bba9e6534a304418634abd..2fece32449f23bf8ed6e183de913029c3d0fd918 100755
--- a/indra/newview/llpanelobject.cpp
+++ b/indra/newview/llpanelobject.cpp
@@ -285,7 +285,8 @@ LLPanelObject::LLPanelObject()
 	mIsPhantom(FALSE),
 	mSelectedType(MI_BOX),
 	mSculptTextureRevert(LLUUID::null),
-	mSculptTypeRevert(0)
+	mSculptTypeRevert(0),
+	mSizeChanged(FALSE)
 {
 }
 
@@ -1620,9 +1621,10 @@ void LLPanelObject::sendScale(BOOL btn_down)
 	LLVector3 newscale(mCtrlScaleX->get(), mCtrlScaleY->get(), mCtrlScaleZ->get());
 
 	LLVector3 delta = newscale - mObject->getScale();
-	if (delta.magVec() >= 0.0005f)
+	if (delta.magVec() >= 0.0005f || (mSizeChanged && !btn_down))
 	{
 		// scale changed by more than 1/2 millimeter
+		mSizeChanged = btn_down;
 
 		// check to see if we aren't scaling the textures
 		// (in which case the tex coord's need to be recomputed)
diff --git a/indra/newview/llpanelobject.h b/indra/newview/llpanelobject.h
index c4cf27ab1aa9dceca65b1ae47c7772c560d82674..8829f493fa73621ecf60224835be0a6496a3779f 100755
--- a/indra/newview/llpanelobject.h
+++ b/indra/newview/llpanelobject.h
@@ -140,6 +140,7 @@ class LLPanelObject : public LLPanel
 	LLSpinCtrl*		mCtrlScaleX;
 	LLSpinCtrl*		mCtrlScaleY;
 	LLSpinCtrl*		mCtrlScaleZ;
+	BOOL			mSizeChanged;
 
 	LLTextBox*		mLabelRotation;
 	LLSpinCtrl*		mCtrlRotX;