diff --git a/indra/llcommon/llfasttimer.h b/indra/llcommon/llfasttimer.h
index c6aa5f2195de4390ceb13d1a0d9aa9cc8b4cda45..c2f23f6ff66a7d85584923479a02483f456bcc2d 100644
--- a/indra/llcommon/llfasttimer.h
+++ b/indra/llcommon/llfasttimer.h
@@ -114,8 +114,9 @@ class LLFastTimer
 		// recursive call to gather total time from children
 		static void accumulateTimings();
 
-		// called once per frame by LLFastTimer
-		static void processFrame();
+		// updates cumulative times and hierarchy, 
+		// can be called multiple times in a frame, at any point
+		static void processTimes();
 
 		static void buildHierarchy();
 		static void resetFrame();
@@ -178,8 +179,9 @@ class LLFastTimer
 	{
 #if FAST_TIMER_ON
 		NamedTimer::FrameState* frame_state = mFrameState;
-		frame_state->mLastStartTime = get_cpu_clock_count();
-		mStartSelfTime = frame_state->mLastStartTime;
+		U64 cur_time = get_cpu_clock_count();
+		frame_state->mLastStartTime = cur_time;
+		mStartSelfTime = cur_time;
 
 		frame_state->mActiveCount++;
 		frame_state->mCalls++;