diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
index 4fc1738..6c8ab57 100644
--- a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
@@ -16,10 +16,12 @@
 
 package com.android.inputmethod.latin.settings;
 
+import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
 import android.preference.Preference;
 import android.preference.PreferenceScreen;
+import android.provider.Settings.Secure;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
@@ -67,13 +69,23 @@
 
     @Override
     public boolean onOptionsItemSelected(final MenuItem item) {
+        final Activity activity = getActivity();
+        final int setupStatus = Secure.getInt(
+                activity.getContentResolver(),
+                "user_setup_complete",
+                0 /* default */);
+        if (setupStatus == 0) {
+            // If setup is not complete, it's not safe to launch Help or other activities
+            // because they might go to the Play Store.  See b/19866981.
+            return true;
+        }
         final int itemId = item.getItemId();
         if (itemId == MENU_HELP_AND_FEEDBACK) {
-            FeedbackUtils.showHelpAndFeedbackForm(getActivity());
+            FeedbackUtils.showHelpAndFeedbackForm(activity);
             return true;
         }
         if (itemId == MENU_ABOUT) {
-            final Intent aboutIntent = FeedbackUtils.getAboutKeyboardIntent(getActivity());
+            final Intent aboutIntent = FeedbackUtils.getAboutKeyboardIntent(activity);
             if (aboutIntent != null) {
                 startActivity(aboutIntent);
                 return true;
