diff --git a/indra/llui/lldockcontrol.cpp b/indra/llui/lldockcontrol.cpp
index f6f5a0beb38838e4dfe3008b63ab15101a097590..e18309ac33668d7224d303580fa4480528c69eb3 100644
--- a/indra/llui/lldockcontrol.cpp
+++ b/indra/llui/lldockcontrol.cpp
@@ -297,7 +297,7 @@ void LLDockControl::moveDockable()
 		break;
 	}
 
-	S32 max_available_height = rootRect.getHeight() - mDockTongueY - mDockTongue->getHeight();
+	S32 max_available_height = rootRect.getHeight() - (rootRect.mBottom -  mDockTongueY) - mDockTongue->getHeight();
 
 	// A floater should be shrunk so it doesn't cover a part of its docking tongue and
 	// there is a space between a dockable floater and a control to which it is docked.