diff --git a/src/com/android/browser/NavigationBarBase.java b/src/com/android/browser/NavigationBarBase.java
index 819608d..96a9896 100644
--- a/src/com/android/browser/NavigationBarBase.java
+++ b/src/com/android/browser/NavigationBarBase.java
@@ -46,6 +46,7 @@
 import java.io.UnsupportedEncodingException;
 import java.net.URISyntaxException;
 
+import org.codeaurora.swe.Engine;
 import org.codeaurora.swe.WebView;
 
 public class NavigationBarBase extends LinearLayout implements
@@ -154,6 +155,7 @@
             setFocusState(hasFocus);
         }
         if (hasFocus) {
+            Engine.warmUpChildProcessAsync(mUiController.getActivity().getApplicationContext());
             mBaseUi.showTitleBar();
         } else if (!mUrlInput.needsUpdate()) {
             mUrlInput.dismissDropDown();
diff --git a/src/com/android/browser/appmenu/AppMenu.java b/src/com/android/browser/appmenu/AppMenu.java
index 66ddc9f..41ac97f 100644
--- a/src/com/android/browser/appmenu/AppMenu.java
+++ b/src/com/android/browser/appmenu/AppMenu.java
@@ -31,6 +31,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import org.codeaurora.swe.Engine;
+
 /**
  * Shows a popup of menuitems anchored to a host view. When a item is selected we call
  * Activity.onOptionsItemSelected with the appropriate MenuItem.
@@ -181,6 +183,7 @@
                 }
             });
         }
+        Engine.warmUpChildProcessAsync(context);
     }
 
     public void invalidate(Context context, Menu menu) {
