diff --git a/src/com/android/browser/BrowserUtils.java b/src/com/android/browser/BrowserUtils.java
index be16ab1..2b260df 100644
--- a/src/com/android/browser/BrowserUtils.java
+++ b/src/com/android/browser/BrowserUtils.java
@@ -75,7 +75,7 @@
 
         mAlertDialog = new AlertDialog.Builder(context);
         mAlertDialog.setTitle(R.string.browser_max_input_title)
-                .setIcon(android.R.drawable.ic_dialog_info)
+            //    .setIcon(android.R.drawable.ic_dialog_info)
                 .setMessage(context.getString(R.string.browser_max_input, max_length))
                 .setPositiveButton(R.string.ok,
                         new DialogInterface.OnClickListener() {
diff --git a/src/com/android/browser/DownloadSettings.java b/src/com/android/browser/DownloadSettings.java
index d84d3b7..32803de 100644
--- a/src/com/android/browser/DownloadSettings.java
+++ b/src/com/android/browser/DownloadSettings.java
@@ -46,6 +46,7 @@
 import android.view.View.OnClickListener;
 import android.widget.Button;
 import android.widget.EditText;
+import android.widget.ImageButton;
 import android.widget.TextView;
 import android.view.Window;
 import android.widget.Toast;
@@ -60,8 +61,8 @@
     private EditText downloadPathET;
     private TextView downloadEstimateSize;
     private TextView downloadEstimateTime;
-    private Button downloadStart;
-    private Button downloadCancel;
+    private ImageButton downloadStart;
+    private ImageButton downloadCancel;
     private String url;
     private String userAgent;
     private String contentDisposition;
@@ -94,8 +95,8 @@
         downloadPathET = (EditText) findViewById(R.id.download_filepath_selected);
         downloadEstimateSize = (TextView) findViewById(R.id.download_estimate_size_content);
         downloadEstimateTime = (TextView) findViewById(R.id.download_estimate_time_content);
-        downloadStart = (Button) findViewById(R.id.download_start);
-        downloadCancel = (Button) findViewById(R.id.download_cancel);
+        downloadStart = (ImageButton) findViewById(R.id.download_start);
+        downloadCancel = (ImageButton) findViewById(R.id.download_cancel);
         downloadPathET.setOnClickListener(downloadPathListener);
         downloadStart.setOnClickListener(downloadStartListener);
         downloadCancel.setOnClickListener(downloadCancelListener);
