diff --git a/java/src/com/android/inputmethod/research/LogUnit.java b/java/src/com/android/inputmethod/research/LogUnit.java
index 1a9a720..e91976a 100644
--- a/java/src/com/android/inputmethod/research/LogUnit.java
+++ b/java/src/com/android/inputmethod/research/LogUnit.java
@@ -151,10 +151,10 @@
                     continue;
                 }
                 // Only retrieve the jsonWriter if we need to.  If we don't get this far, then
-                // researchLog.getValidJsonWriterLocked() will not ever be called, and the file
-                // will not have been opened for writing.
+                // researchLog.getInitializedJsonWriterLocked() will not ever be called, and the
+                // file will not have been opened for writing.
                 if (jsonWriter == null) {
-                    jsonWriter = researchLog.getValidJsonWriterLocked();
+                    jsonWriter = researchLog.getInitializedJsonWriterLocked();
                     outputLogUnitStart(jsonWriter, canIncludePrivateData);
                 }
                 logStatement.outputToLocked(jsonWriter, mTimeList.get(i), mValuesList.get(i));
diff --git a/java/src/com/android/inputmethod/research/ResearchLog.java b/java/src/com/android/inputmethod/research/ResearchLog.java
index 5114977..4dff175 100644
--- a/java/src/com/android/inputmethod/research/ResearchLog.java
+++ b/java/src/com/android/inputmethod/research/ResearchLog.java
@@ -206,7 +206,7 @@
      * Return a JsonWriter for this ResearchLog.  It is initialized the first time this method is
      * called.  The cached value is returned in future calls.
      */
-    public JsonWriter getValidJsonWriterLocked() {
+    public JsonWriter getInitializedJsonWriterLocked() {
         try {
             if (mJsonWriter == NULL_JSON_WRITER && mFile != null) {
                 final FileOutputStream fos =
