diff --git a/indra/newview/llviewerstatsrecorder.cpp b/indra/newview/llviewerstatsrecorder.cpp
index 91e485d01b7b6e19827f8c746e3c29ddd5b5bfaf..321684bf3fd4174b3968af0b982de7af7f9c4144 100644
--- a/indra/newview/llviewerstatsrecorder.cpp
+++ b/indra/newview/llviewerstatsrecorder.cpp
@@ -187,6 +187,7 @@ void LLViewerStatsRecorder::writeToLog( F32 interval )
 		<< mObjectUpdateFailures << " update failures"
 		<< llendl;
 
+	U32 data_size;
 	if (mObjectCacheFile == NULL)
 	{
 		mStartTime = LLTimer::getTotalSeconds();
@@ -216,7 +217,11 @@ void LLViewerStatsRecorder::writeToLog( F32 interval )
 				<< "Texture Fetch bps\t"
 				<< "\n";
 
-			fwrite(data_msg.str().c_str(), 1, data_msg.str().size(), mObjectCacheFile );
+			data_size = data_msg.str().size();
+			if (fwrite(data_msg.str().c_str(), 1, data_size, mObjectCacheFile ) != data_size)
+			{
+				llwarns << "failed to write full headers to " << STATS_FILE_NAME << llendl;
+			}
 		}
 		else
 		{
@@ -249,7 +254,12 @@ void LLViewerStatsRecorder::writeToLog( F32 interval )
 		<< "\t" << (mTextureFetchSize * 8 / delta_time)
 		<< "\n";
 
-	fwrite(data_msg.str().c_str(), 1, data_msg.str().size(), mObjectCacheFile );
+	data_size = data_msg.str().size();
+	if (fwrite(data_msg.str().c_str(), 1, data_size, mObjectCacheFile )
+	{
+		llwarns << "failed to write full stats to " << STATS_FILE_NAME << llendl;
+	}
+
 	clearStats();
 }