--- video_s3.admin.inc	2010-09-15 18:54:02.000000000 -0700
+++ video_s3.adminNew.inc	2010-09-15 18:53:32.000000000 -0700
@@ -32,17 +32,18 @@ function video_s3_admin_settings() {
     '#size' => 5,
   );
 
-
+  $access_key = variable_get('amazon_s3_access_key', '');
   $form['amazon_s3_access_key'] = array(
     '#type' => 'textfield',
     '#title' => t('Access Key ID'),
-    '#default_value' => variable_get('amazon_s3_access_key', ''),
+    '#default_value' => $access_key,
     '#size' => 50,
   );
+  $secret_key = variable_get('amazon_s3_secret_access_key', ''); 
   $form['amazon_s3_secret_access_key'] = array(
     '#type' => 'password',
     '#title' => t('Secret Access Key'),
-    '#default_value' => variable_get('amazon_s3_secret_access_key', ''),
+    '#default_value' => $secret_key,
     '#description' => t('Once saved, you do not need to re-enter your secret key.  If you need to update your key, then fill this out to update it.'),
     '#size' => 50,
   );
@@ -58,15 +59,17 @@ function video_s3_admin_settings() {
 
   //lets show our buckets in table format with a delete link.
   //@todo add permissions
-  //were enabled, that means they have successfully connected and created a bucket.
-  module_load_include('inc', 'video_s3', '/includes/amazon_s3');
-  $s3 = new video_amazon_s3;
-  $s3->connect();
-  $buckets = $s3->s3->listBuckets();
+  
   // Setup our header.
   $header = array(t('Bucket Name'), t('Total Objects'), t('Actions'));
   $rows = array();
-  foreach ($buckets as $bucket) {
+  if($access_key && $secret_key) {
+    module_load_include('inc', 'video_s3', '/includes/amazon_s3');
+    $s3 = new video_amazon_s3;
+    $s3->connect();
+    $buckets = $s3->s3->listBuckets();
+  }
+  foreach ((array)$buckets as $bucket) {
     $objects = count($s3->s3->getBucket($bucket));
     $actions = l(t('Delete'), 'admin/settings/video/amazon_s3/bucket/' . $bucket . '/delete');
     $rows[] = array($bucket, $objects, $actions);
