diff --git a/indra/llui/lldockcontrol.cpp b/indra/llui/lldockcontrol.cpp
index bd42497cb66b8957f7a07bd3df7d3e0a1a03a508..7ef2b9822ce10525666f93652182a1e225c87927 100644
--- a/indra/llui/lldockcontrol.cpp
+++ b/indra/llui/lldockcontrol.cpp
@@ -74,6 +74,8 @@ LLDockControl::LLDockControl(LLView* dockWidget, LLFloater* dockableFloater,
 	{
 		mDockWidgetVisible = false;
 	}
+
+	mNonToolbarPanelHandle = dockableFloater->getRootView()->getChild<LLView>("non_toolbar_panel")->getHandle();
 }
 
 LLDockControl::~LLDockControl()
@@ -97,7 +99,10 @@ void LLDockControl::setDock(LLView* dockWidget)
 
 void LLDockControl::getAllowedRect(LLRect& rect)
 {
-	rect = mDockableFloater->getRootView()->getChild<LLView>("non_toolbar_panel")->getRect();
+	if (!mNonToolbarPanelHandle.isDead())
+	{
+		rect = mNonToolbarPanelHandle.get()->getRect();
+	}
 }
 
 void LLDockControl::repositionDockable()
diff --git a/indra/llui/lldockcontrol.h b/indra/llui/lldockcontrol.h
index 98a9c7236d79ca9788cee21ba55f7933d55331f9..140e82fbdf8990bdbf1aebf0dd9c8dfc6d4f5a30 100644
--- a/indra/llui/lldockcontrol.h
+++ b/indra/llui/lldockcontrol.h
@@ -84,6 +84,7 @@ class LLDockControl
 	bool mDockWidgetVisible;
 	DocAt mDockAt;
 	LLHandle<LLView> mDockWidgetHandle;
+	LLHandle<LLView> mNonToolbarPanelHandle;
 	LLRect mPrevDockRect;
 	LLRect mRootRect;
 	LLRect mFloaterRect;