diff --git a/java/src/com/android/inputmethod/latin/LatinImeLogger.java b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
index 9903209dde9ddec68f3bb2b49908a2523bdbf129..2041acadff6e4d527dd9f2cb332011aef4b2fbd2 100644
--- a/java/src/com/android/inputmethod/latin/LatinImeLogger.java
+++ b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
@@ -33,7 +33,7 @@ public class LatinImeLogger implements SharedPreferences.OnSharedPreferenceChang
     public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
     }
 
-    public static void init(Context context, SharedPreferences prefs) {
+    public static void init(LatinIME context, SharedPreferences prefs) {
     }
 
     public static void commit() {
diff --git a/java/src/com/android/inputmethod/latin/Settings.java b/java/src/com/android/inputmethod/latin/Settings.java
index ac4f705ea54c2181c4450e8d4d29587cb5a3e2e3..87ac464f8fb5f6b56354d7506357e8b07c889cac 100644
--- a/java/src/com/android/inputmethod/latin/Settings.java
+++ b/java/src/com/android/inputmethod/latin/Settings.java
@@ -237,6 +237,7 @@ public class Settings extends InputMethodSettingsActivity
             textCorrectionGroup.removePreference(dictionaryLink);
         }
 
+        // TODO: Following isResearcherPackage can be wrong until LatinImeLogger gets initialized.
         final boolean isResearcherPackage = LatinImeLogger.isResearcherPackage();
         final boolean showUsabilityStudyModeOption =
                 res.getBoolean(R.bool.config_enable_usability_study_mode_option)
diff --git a/java/src/com/android/inputmethod/latin/Utils.java b/java/src/com/android/inputmethod/latin/Utils.java
index 82f27558f872da23936d069ae05f1d317e58af86..75bc10cf3b707e7dab94266bb1e765cea50f47c2 100644
--- a/java/src/com/android/inputmethod/latin/Utils.java
+++ b/java/src/com/android/inputmethod/latin/Utils.java
@@ -537,6 +537,10 @@ public class Utils {
             mLoggingHandler.post(new Runnable() {
                 @Override
                 public void run() {
+                    final Date date = new Date();
+                    date.setTime(System.currentTimeMillis());
+                    final String currentDateTimeString =
+                            new SimpleDateFormat("yyyyMMdd-HHmmssZ").format(date);
                     if (mFile == null) {
                         Log.w(TAG, "No internal log file found.");
                         return;
@@ -548,8 +552,8 @@ public class Utils {
                         return;
                     }
                     mWriter.flush();
-                    final String destPath =
-                            Environment.getExternalStorageDirectory() + "/" + FILENAME;
+                    final String destPath = Environment.getExternalStorageDirectory()
+                            + "/research-" + currentDateTimeString + ".log";
                     final File destFile = new File(destPath);
                     try {
                         final FileChannel src = (new FileInputStream(mFile)).getChannel();
@@ -575,7 +579,8 @@ public class Utils {
                     }
                     intent.setType("text/plain");
                     intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + destPath));
-                    intent.putExtra(Intent.EXTRA_SUBJECT, "[Research Logs]");
+                    intent.putExtra(Intent.EXTRA_SUBJECT,
+                            "[Research Logs] " + currentDateTimeString);
                     mIms.startActivity(intent);
                 }
             });