diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 31343ee90854f5d7f82465b17f0ef790f3afd1c8..8586900b9c1dc882789f4d0dd352490f7e6adea5 100755
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -240,6 +240,7 @@ static bool mLoginStatePastUI = false;
 
 boost::scoped_ptr<LLEventPump> LLStartUp::sStateWatcher(new LLEventStream("StartupState"));
 boost::scoped_ptr<LLStartupListener> LLStartUp::sListener(new LLStartupListener());
+boost::scoped_ptr<LLViewerStats::PhaseMap> LLStartUp::sPhases(new LLViewerStats::PhaseMap);
 
 //
 // local function declaration
@@ -2707,9 +2708,9 @@ void LLStartUp::setStartupState( EStartupState state )
 		getStartupStateString() << " to " <<  
 		startupStateToString(state) << LL_ENDL;
 
-	selfStopPhase(getStartupStateString());
+	sPhases->stopPhase(getStartupStateString());
 	gStartupState = state;
-	selfStartPhase(getStartupStateString());
+	sPhases->startPhase(getStartupStateString());
 	postStartupState();
 }
 
diff --git a/indra/newview/llstartup.h b/indra/newview/llstartup.h
old mode 100644
new mode 100755
index 0a18ef1b2d140389e32f8db302669e9f89ca9782..3754aaf966e5fc8503d9fe6e8667e6ba5fa65bf9
--- a/indra/newview/llstartup.h
+++ b/indra/newview/llstartup.h
@@ -34,6 +34,8 @@ class LLEventPump;
 class LLStartupListener;
 class LLSLURL;
 
+#include "llviewerstats.h"
+
 // functions
 bool idle_startup();
 void release_start_screen();
@@ -113,6 +115,7 @@ class LLStartUp
 
 	static bool startLLProxy(); // Initialize the SOCKS 5 proxy
 
+	static LLViewerStats::PhaseMap& getPhases() { return *sPhases; }
 private:
 	static LLSLURL sStartSLURL;
 
@@ -120,6 +123,7 @@ class LLStartUp
 	static EStartupState gStartupState; // Do not set directly, use LLStartup::setStartupState
 	static boost::scoped_ptr<LLEventPump> sStateWatcher;
 	static boost::scoped_ptr<LLStartupListener> sListener;
+	static boost::scoped_ptr<LLViewerStats::PhaseMap> sPhases;
 };
 
 
diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp
index aac07df2a9f3c03767feb6b5433eceec680fc1f7..14d5b1c8d9e5929ad5585b9d2dca81023071a985 100755
--- a/indra/newview/llvoavatarself.cpp
+++ b/indra/newview/llvoavatarself.cpp
@@ -59,6 +59,7 @@
 #include "llmeshrepository.h"
 #include "llvovolume.h"
 #include "llsdutil.h"
+#include "llstartup.h"
 
 #if LL_MSVC
 // disable boost::lexical_cast warning
@@ -2148,6 +2149,7 @@ LLSD LLVOAvatarSelf::metricsData()
 	result["timers"]["invisible"] = mInvisibleTimer.getElapsedTimeF32();
 	result["timers"]["fully_loaded"] = mFullyLoadedTimer.getElapsedTimeF32();
 	result["phases"] = getPhases().dumpPhases();
+	result["startup"] = LLStartUp::getPhases().dumpPhases();
 	
 	return result;
 }