diff --git a/src/com/android/browser/TitleBarBase.java b/src/com/android/browser/TitleBarBase.java
index d720257..284fe12 100644
--- a/src/com/android/browser/TitleBarBase.java
+++ b/src/com/android/browser/TitleBarBase.java
@@ -89,7 +89,7 @@
     protected Button mAutoLoginLogin;
     protected ProgressBar mAutoLoginProgress;
     protected TextView mAutoLoginError;
-    protected ImageButton mAutoLoginCancel;
+    protected View mAutoLoginCancel;
     protected DeviceAccountLogin mAutoLoginHandler;
     protected ArrayAdapter<String> mAccountsAdapter;
     protected boolean mUseQuickControls;
@@ -128,7 +128,7 @@
         mAutoLoginLogin.setOnClickListener(this);
         mAutoLoginProgress = (ProgressBar) findViewById(R.id.autologin_progress);
         mAutoLoginError = (TextView) findViewById(R.id.autologin_error);
-        mAutoLoginCancel = (ImageButton) mAutoLogin.findViewById(R.id.autologin_close);
+        mAutoLoginCancel = mAutoLogin.findViewById(R.id.autologin_close);
         mAutoLoginCancel.setOnClickListener(this);
     }
 
@@ -349,7 +349,7 @@
             mAutoLoginAccount.setSelection(0);
             mAutoLoginAccount.setEnabled(true);
             mAutoLoginLogin.setEnabled(true);
-            mAutoLoginProgress.setVisibility(View.GONE);
+            mAutoLoginProgress.setVisibility(View.INVISIBLE);
             mAutoLoginError.setVisibility(View.GONE);
             switch (login.getState()) {
                 case DeviceAccountLogin.PROCESSING:
@@ -358,7 +358,7 @@
                     mAutoLoginProgress.setVisibility(View.VISIBLE);
                     break;
                 case DeviceAccountLogin.FAILED:
-                    mAutoLoginProgress.setVisibility(View.GONE);
+                    mAutoLoginProgress.setVisibility(View.INVISIBLE);
                     mAutoLoginError.setVisibility(View.VISIBLE);
                     break;
                 case DeviceAccountLogin.INITIAL:
@@ -420,7 +420,7 @@
     public void loginFailed() {
         mAutoLoginAccount.setEnabled(true);
         mAutoLoginLogin.setEnabled(true);
-        mAutoLoginProgress.setVisibility(View.GONE);
+        mAutoLoginProgress.setVisibility(View.INVISIBLE);
         mAutoLoginError.setVisibility(View.VISIBLE);
     }
 
