diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp
index 1e0af1201f6619e2dc6487049dec9aa4557491c7..706712ec5e703f3431992b230539618403cfbc0f 100644
--- a/indra/llui/lluictrl.cpp
+++ b/indra/llui/lluictrl.cpp
@@ -46,6 +46,28 @@ static LLDefaultChildRegistry::Register<LLUICtrl> r("ui_ctrl");
 template class LLUICtrl* LLView::getChild<class LLUICtrl>(
 	const std::string& name, BOOL recurse) const;
 
+LLUICtrl::CallbackParam::CallbackParam()
+:	name("name"),
+	function_name("function"),
+	parameter("parameter"),
+	control_name("control") // Shortcut to control -> "control_name" for backwards compatability			
+{
+	addSynonym(parameter, "userdata");
+}
+
+LLUICtrl::EnableControls::EnableControls()
+:	enabled("enabled_control"),
+	disabled("disabled_control")
+{}
+
+LLUICtrl::ControlVisibility::ControlVisibility()
+:	visible("visibility_control"),
+	invisible("invisibility_control")
+{
+	addSynonym(visible, "visiblity_control");
+	addSynonym(invisible, "invisiblity_control");
+}
+
 LLUICtrl::Params::Params()
 :	tab_stop("tab_stop", true),
 	chrome("chrome", false),
diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h
index ac916c9a4324a89fa37e5a97263f9b0fd0eeac85..b20ff5d798c0ae49b5d8e06e1d861367b2757393 100644
--- a/indra/llui/lluictrl.h
+++ b/indra/llui/lluictrl.h
@@ -75,14 +75,7 @@ class LLUICtrl
 
 		Optional<std::string>	control_name;
 		
-		CallbackParam()
-		  :	name("name"),
-			function_name("function"),
-			parameter("parameter"),
-			control_name("control") // Shortcut to control -> "control_name" for backwards compatability			
-		{
-			addSynonym(parameter, "userdata");
-		}
+		CallbackParam();
 	};
 
 	struct CommitCallbackParam : public LLInitParam::Block<CommitCallbackParam, CallbackParam >
@@ -105,23 +98,14 @@ class LLUICtrl
 		Alternative<std::string> enabled;
 		Alternative<std::string> disabled;
 		
-		EnableControls()
-		: enabled("enabled_control"),
-		  disabled("disabled_control")
-		{}
+		EnableControls();
 	};	
 	struct ControlVisibility : public LLInitParam::Choice<ControlVisibility>
 	{
 		Alternative<std::string> visible;
 		Alternative<std::string> invisible;
 
-		ControlVisibility()
-		:	visible("visibility_control"),
-			invisible("invisibility_control")
-		{
-			addSynonym(visible, "visiblity_control");
-			addSynonym(invisible, "invisiblity_control");
-		}
+		ControlVisibility();
 	};	
 	struct Params : public LLInitParam::Block<Params, LLView::Params>
 	{
diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp
index e7e8b1b858acdca90bec68f06dc11857da22c443..23e4131e6d023cd5e61cbc5ac7d4257f8b60628e 100644
--- a/indra/llui/llview.cpp
+++ b/indra/llui/llview.cpp
@@ -83,6 +83,11 @@ template class LLView* LLView::getChild<class LLView>(
 
 static LLDefaultChildRegistry::Register<LLView> r("view");
 
+LLView::Follows::Follows()
+:   string(""),
+	flags("flags", FOLLOWS_LEFT | FOLLOWS_TOP)
+{}
+
 LLView::Params::Params()
 :	name("name", std::string("unnamed")),
 	enabled("enabled", true),
diff --git a/indra/llui/llview.h b/indra/llui/llview.h
index 8ee05675c19125d76d1a2daa5129f1b075e84fc9..d485244a056fb9bd3b4e60c3a7b70b756cde44a3 100644
--- a/indra/llui/llview.h
+++ b/indra/llui/llview.h
@@ -111,10 +111,7 @@ class LLView : public LLMouseHandler, public LLMortician, public LLFocusableElem
 		Alternative<std::string>	string;
 		Alternative<U32>			flags;
 
-        Follows()
-		:   string(""),
-			flags("flags", FOLLOWS_LEFT | FOLLOWS_TOP)
-        {}
+        Follows();
 	};
 
 	struct Params : public LLInitParam::Block<Params>