diff --git a/src/com/android/browser/TabBar.java b/src/com/android/browser/TabBar.java
index 88209fe..32e19a1 100644
--- a/src/com/android/browser/TabBar.java
+++ b/src/com/android/browser/TabBar.java
@@ -238,16 +238,12 @@
     public void onScroll(int visibleTitleHeight) {
         if (mUseQuickControls) return;
         // isLoading is using the current tab, which initially might not be set yet
-        if (mTabControl.getCurrentTab() != null) {
-            if ((mVisibleTitleHeight != 0) && (visibleTitleHeight == 0)
-                    && !isLoading()) {
-                if (mUserRequestedUrlbar) {
-                    mUi.hideFakeTitleBar();
-                } else {
-                    showTitleBarIndicator(true);
-                }
-            } else if ((mVisibleTitleHeight == 0) && (visibleTitleHeight != 0)
-                    && !isLoading()) {
+        if (mTabControl.getCurrentTab() != null
+                && !isLoading()) {
+            if (visibleTitleHeight == 0) {
+                mUi.hideFakeTitleBar();
+                showTitleBarIndicator(true);
+            } else {
                 showTitleBarIndicator(false);
             }
         }
diff --git a/src/com/android/browser/TitleBarXLarge.java b/src/com/android/browser/TitleBarXLarge.java
index 496246c..b479139 100644
--- a/src/com/android/browser/TitleBarXLarge.java
+++ b/src/com/android/browser/TitleBarXLarge.java
@@ -301,7 +301,7 @@
      */
     @Override
     public void onEdit(String text) {
-        setDisplayTitle(text, true);
+        mUrlInput.setText(text, true);
         if (text != null) {
             mUrlInput.setSelection(text.length());
         }
@@ -380,11 +380,9 @@
 
     @Override
     /* package */ void setDisplayTitle(String title) {
-        mUrlInput.setText(title, false);
-    }
-
-    void setDisplayTitle(String title, boolean filter) {
-        mUrlInput.setText(title, filter);
+        if (!isEditingUrl()) {
+            mUrlInput.setText(title, false);
+        }
     }
 
     // UrlInput text watcher
