diff --git a/indra/newview/llfeaturemanager.cpp b/indra/newview/llfeaturemanager.cpp
index d4ba230feb24e60ead6609a40c539e332fef5657..b8fd96840b080bf1ed576b1173ea89b69541b559 100644
--- a/indra/newview/llfeaturemanager.cpp
+++ b/indra/newview/llfeaturemanager.cpp
@@ -324,18 +324,19 @@ bool LLFeatureManager::parseFeatureTable(std::string filename)
 
 	// Check file version
 	file >> name;
-	file >> version;
 	if (name != "version")
 	{
 		LL_WARNS("RenderInit") << filename << " does not appear to be a valid feature table!" << LL_ENDL;
 		return false;
 	}
+	file >> version;
 
 	mTableVersion = version;
+	LL_INFOS("RenderInit") << "Found feature table version " << version << LL_ENDL;
 
 	LLFeatureList *flp = NULL;
 	bool parse_ok = true;
-	while (file >> name && parse_ok)
+	while (parse_ok && file >> name )
 	{
 		char buffer[MAX_STRING];		 /*Flawfinder: ignore*/
 		
@@ -345,7 +346,7 @@ bool LLFeatureManager::parseFeatureTable(std::string filename)
 			file.getline(buffer, MAX_STRING);
 			continue;
 		}
-
+        
 		if (name == "list")
 		{
 			LL_DEBUGS("RenderInit") << "Before new list" << std::endl;
@@ -368,7 +369,7 @@ bool LLFeatureManager::parseFeatureTable(std::string filename)
             }
             else
             {
-				LL_WARNS("RenderInit") << "Overriding mask " << name << ", this is invalid!" << LL_ENDL;
+				LL_WARNS("RenderInit") << "Overriding mask '" << name << "'; this is invalid!" << LL_ENDL;
 				parse_ok = false;
 			}
 		}