diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp
index df222d31cb870871f384b916c2cfe5dcd55ee70b..d9310d202d9c784f2fb7a8af5812ddabbeaf293b 100644
--- a/indra/newview/llpanelobject.cpp
+++ b/indra/newview/llpanelobject.cpp
@@ -2447,9 +2447,17 @@ void LLPanelObject::onPasteSize()
 {
     if (!mHasClipboardSize) return;
 
-    mClipboardSize.mV[VX] = llclamp(mClipboardSize.mV[VX], MIN_PRIM_SCALE, DEFAULT_MAX_PRIM_SCALE);
-    mClipboardSize.mV[VY] = llclamp(mClipboardSize.mV[VY], MIN_PRIM_SCALE, DEFAULT_MAX_PRIM_SCALE);
-    mClipboardSize.mV[VZ] = llclamp(mClipboardSize.mV[VZ], MIN_PRIM_SCALE, DEFAULT_MAX_PRIM_SCALE);
+	F32 min_scale = SL_MIN_PRIM_SCALE;
+	F32 max_scale = SL_DEFAULT_MAX_PRIM_SCALE;
+	if(gAgent.getRegion())
+	{
+		min_scale = gAgent.getRegion()->getMinPrimScale();
+		max_scale = gAgent.getRegion()->getMaxPrimScale();
+	}
+
+    mClipboardSize.mV[VX] = llclamp(mClipboardSize.mV[VX], min_scale, max_scale);
+    mClipboardSize.mV[VY] = llclamp(mClipboardSize.mV[VY], min_scale, max_scale);
+    mClipboardSize.mV[VZ] = llclamp(mClipboardSize.mV[VZ], min_scale, max_scale);
 
     mCtrlScaleX->set(mClipboardSize.mV[VX]);
     mCtrlScaleY->set(mClipboardSize.mV[VY]);
@@ -2485,9 +2493,9 @@ void LLPanelObject::onCopyParams()
     mClipboardParams["volume_params"] = params.asLLSD();
 
     // Sculpted Prim
-    if (objectp->getParameterEntryInUse(LLNetworkData::PARAMS_SCULPT))
+    if (objectp->getSculptParams())
     {
-        LLSculptParams *sculpt_params = (LLSculptParams *)objectp->getParameterEntry(LLNetworkData::PARAMS_SCULPT);
+        LLSculptParams *sculpt_params = (LLSculptParams *)objectp->getSculptParams();
 
         LLUUID texture_id = sculpt_params->getSculptTexture();
         if (get_can_copy_texture(texture_id))
@@ -2523,7 +2531,7 @@ void LLPanelObject::onPasteParams()
     }
     else
     {
-        LLSculptParams *sculpt_params = (LLSculptParams *)objectp->getParameterEntry(LLNetworkData::PARAMS_SCULPT);
+        LLSculptParams *sculpt_params = (LLSculptParams *)objectp->getSculptParams();
         if (sculpt_params)
         {
             objectp->setParameterEntryInUse(LLNetworkData::PARAMS_SCULPT, FALSE, TRUE);
diff --git a/indra/newview/llpanelvolume.cpp b/indra/newview/llpanelvolume.cpp
index d07f1506dc5e2371e4c5bc27789a1f24295eb272..d242a656732192f2aece4b1a3a60c4ab057e9817 100644
--- a/indra/newview/llpanelvolume.cpp
+++ b/indra/newview/llpanelvolume.cpp
@@ -854,7 +854,7 @@ void LLPanelVolume::onCopyFeatures()
     // Flexi Prim
     if (volobjp && volobjp->isFlexible())
     {
-        LLFlexibleObjectData *attributes = (LLFlexibleObjectData *)objectp->getParameterEntry(LLNetworkData::PARAMS_FLEXIBLE);
+        LLFlexibleObjectData *attributes = (LLFlexibleObjectData *)objectp->getFlexibleObjectData();
         if (attributes)
         {
             clipboard["flex"]["lod"] = attributes->getSimulateLOD();
@@ -952,7 +952,7 @@ void LLPanelVolume::onPasteFeatures()
             objectp->setClickAction(CLICK_ACTION_NONE);
         }
 
-        LLFlexibleObjectData *attributes = (LLFlexibleObjectData *)objectp->getParameterEntry(LLNetworkData::PARAMS_FLEXIBLE);
+        LLFlexibleObjectData *attributes = (LLFlexibleObjectData *)objectp->getFlexibleObjectData();
         if (attributes)
         {
             LLFlexibleObjectData new_attributes;
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 0d690a0f5702615bf7168b434f032f11476c34fa..0d2e307d68a28c961b7025f4a5ed780c7f9f3b49 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -1819,6 +1819,8 @@ BOOL LLVOVolume::genBBoxes(BOOL force_global, BOOL should_update_octree_bounds)
                 max.setMax(max, face->mExtents[1]);
             }
         }
+    }
+
     if (any_valid_boxes)
     {
         if (rebuild && should_update_octree_bounds)