diff --git a/src/com/android/browser/TitleBar.java b/src/com/android/browser/TitleBar.java
index 9ec972b..479b62e 100644
--- a/src/com/android/browser/TitleBar.java
+++ b/src/com/android/browser/TitleBar.java
@@ -20,6 +20,7 @@
 import android.animation.Animator.AnimatorListener;
 import android.animation.ObjectAnimator;
 import android.content.Context;
+import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -96,6 +97,16 @@
         mSnapshotBar.setTitleBar(this);
     }
 
+    @Override
+    protected void onConfigurationChanged(Configuration config) {
+        super.onConfigurationChanged(config);
+        if (config.orientation == Configuration.ORIENTATION_PORTRAIT) {
+            if (!mContext.getResources().getBoolean(R.bool.hide_title)) {
+                show();
+            }
+        }
+    }
+
     public BaseUi getUi() {
         return mBaseUi;
     }
@@ -159,6 +170,7 @@
         if (mUseQuickControls) {
             this.setVisibility(View.GONE);
         } else {
+            if (!mContext.getResources().getBoolean(R.bool.hide_title)) return;
             if (!mSkipTitleBarAnimations) {
                 cancelTitleBarAnimation(false);
                 int visibleHeight = getVisibleTitleHeight();
diff --git a/src/com/android/browser/XLargeUi.java b/src/com/android/browser/XLargeUi.java
index d7f1559..8e874e9 100644
--- a/src/com/android/browser/XLargeUi.java
+++ b/src/com/android/browser/XLargeUi.java
@@ -199,20 +199,6 @@
         super.editUrl(clearInput, forceIME);
     }
 
-    @Override
-    protected void showTitleBar() {
-        if (canShowTitleBar()) {
-            mTitleBar.show();
-        }
-    }
-
-    @Override
-    protected void hideTitleBar() {
-        if (isTitleBarShowing()) {
-            mTitleBar.hide();
-        }
-    }
-
     // action mode callbacks
 
     @Override
