diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp
index 46a7215707a418998492ca8169bba716087b8f7e..b4d1a5726f921e56fd52d1ff02f5dc48dd1bb0fe 100644
--- a/indra/llui/llmenugl.cpp
+++ b/indra/llui/llmenugl.cpp
@@ -9,7 +9,7 @@
  * Second Life Viewer Source Code
  * The source code in this file ("Source Code") is provided by Linden Lab
  * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("GPL"), unless you have obtained a separate licensing agreement	
  * ("Other License"), formally executed by you and Linden Lab.  Terms of
  * the GPL can be found in doc/GPL-license.txt in this distribution, or
  * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
diff --git a/indra/llui/lluictrlfactory.h b/indra/llui/lluictrlfactory.h
index 82076335d732d91d887cbc45663f2c2b1a6b6ccf..207f74c89a5c6f2470bd83e119e5201a3241dbea 100644
--- a/indra/llui/lluictrlfactory.h
+++ b/indra/llui/lluictrlfactory.h
@@ -229,7 +229,9 @@ class LLUICtrlFactory : public LLSingleton<LLUICtrlFactory>
 	static bool getLocalizedXMLNode(const std::string &xui_filename, LLXMLNodePtr& root);
 
 private:
+	//NOTE: both friend declarations are necessary to keep both gcc and msvc happy
 	template <typename T> friend class LLChildRegistry;
+	template <typename T> template <typename U> friend class LLChildRegistry<T>::Register;
 
 	static void copyName(LLXMLNodePtr src, LLXMLNodePtr dest);