diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 20652cf..5deb335 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -221,6 +221,9 @@
         setShouldShowErrorConsole(tab, mUiController.shouldShowErrorConsole());
         onTabDataChanged(tab);
         onProgressChanged(tab);
+        boolean incognito = mActiveTab.getWebView().isPrivateBrowsingEnabled();
+        getEmbeddedTitleBar().setIncognitoMode(incognito);
+        getFakeTitleBar().setIncognitoMode(incognito);
     }
 
     Tab getActiveTab() {
diff --git a/src/com/android/browser/SuggestionsAdapter.java b/src/com/android/browser/SuggestionsAdapter.java
index c2e203a..3c1a689 100644
--- a/src/com/android/browser/SuggestionsAdapter.java
+++ b/src/com/android/browser/SuggestionsAdapter.java
@@ -70,6 +70,7 @@
     Object mResultsLock = new Object();
     List<String> mVoiceResults;
     boolean mReverseResults;
+    boolean mIncognitoMode;
 
     interface CompletionListener {
 
@@ -279,7 +280,9 @@
         }
 
         void startSuggestionsAsync(final CharSequence constraint) {
-            new SlowFilterTask().execute(constraint);
+            if (!mIncognitoMode) {
+                new SlowFilterTask().execute(constraint);
+            }
         }
 
         @Override
@@ -564,4 +567,8 @@
         mSuggestResults = null;
     }
 
+    public void setIncognitoMode(boolean incognito) {
+        mIncognitoMode = incognito;
+        clearCache();
+    }
 }
diff --git a/src/com/android/browser/TitleBarBase.java b/src/com/android/browser/TitleBarBase.java
index 7016dc0..024f83c 100644
--- a/src/com/android/browser/TitleBarBase.java
+++ b/src/com/android/browser/TitleBarBase.java
@@ -75,4 +75,5 @@
 
     /* package */ void setInVoiceMode(boolean inVoiceMode) {}
 
+    /* package */ void setIncognitoMode(boolean incognito) {}
 }
diff --git a/src/com/android/browser/TitleBarXLarge.java b/src/com/android/browser/TitleBarXLarge.java
index b5085b8..4822cc0 100644
--- a/src/com/android/browser/TitleBarXLarge.java
+++ b/src/com/android/browser/TitleBarXLarge.java
@@ -446,4 +446,8 @@
                 ? View.VISIBLE : View.GONE);
     }
 
+    @Override
+    void setIncognitoMode(boolean incognito) {
+        mUrlInput.setIncognitoMode(incognito);
+    }
 }
diff --git a/src/com/android/browser/UrlInputView.java b/src/com/android/browser/UrlInputView.java
index 4f878bf..0214843 100644
--- a/src/com/android/browser/UrlInputView.java
+++ b/src/com/android/browser/UrlInputView.java
@@ -223,4 +223,8 @@
         mAdapter.setReverseResults(reverse);
     }
 
+    public void setIncognitoMode(boolean incognito) {
+        mAdapter.setIncognitoMode(incognito);
+    }
+
 }
