diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index 3ece1c12bf6e9ad98aadecc951a1f4c603c5f7cb..a245dd8f78b61aff032d15744d9496b237ccb92a 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -1145,11 +1145,11 @@ void LLFloater::handleReshape(const LLRect& new_rect, bool by_user)
 			{
 				setDocked( false, false);
 			}
-		storeRectControl();
 		mPositioning = LLFloaterEnums::POSITIONING_RELATIVE;
 		LLRect screen_rect = calcScreenRect();
 		mPosition = LLCoordGL(screen_rect.getCenterX(), screen_rect.getCenterY()).convert();
-	}
+		}
+		storeRectControl();
 
 		// gather all snapped dependents
 		for(handle_set_iter_t dependent_it = mDependents.begin();