diff --git a/src/com/android/browser/NavigationBarBase.java b/src/com/android/browser/NavigationBarBase.java
index ce65f16..10c091b 100644
--- a/src/com/android/browser/NavigationBarBase.java
+++ b/src/com/android/browser/NavigationBarBase.java
@@ -340,6 +340,7 @@
     @Override
     public void onClick(View v) {
         Tab currentTab = mUiController.getCurrentTab();
+        WebView wv = currentTab.getWebView();
         String url = null;
         if (currentTab != null){
             url = currentTab.getUrl();
@@ -347,7 +348,7 @@
         if (mMore == v) {
             showMenu(mMore);
         } else if (mFaviconTile == v) {
-            if (urlHasSitePrefs(url)){
+            if (urlHasSitePrefs(url) && (wv != null && !wv.isShowingInterstitialPage()) ){
                 showSiteSpecificSettings();
             }
         } else if (mMagnify == v) {
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index a86b2e6..f533f6c 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -666,6 +666,20 @@
                 ui.forceDisableFullscreenMode(popup);
             }
         }
+
+        @Override
+        public void onAttachInterstitialPage(WebView mWebView) {
+            Controller controller = (Controller)mWebViewController;
+            BaseUi ui = (BaseUi) controller.getUi();
+            ui.getTitleBar().showTopControls(false);
+        }
+
+        @Override
+        public void onDetachInterstitialPage(WebView mWebView) {
+            Controller controller = (Controller)mWebViewController;
+            BaseUi ui = (BaseUi) controller.getUi();
+            ui.getTitleBar().enableTopControls(true);
+        }
     };
 
     private void syncCurrentState(WebView view, String url) {
