diff --git a/cck_phone.module b/cck_phone.module
index bc63545..392c971 100644
--- a/cck_phone.module
+++ b/cck_phone.module
@@ -55,6 +55,7 @@ function cck_phone_field_info() {
       'description' => t('Store a number and country code in the database to assemble a phone number.'),
       'settings' => array('size' => CCK_PHONE_PHONE_MAX_LENGTH),
       'instance_settings' => array(
+        'enable_default_country' => TRUE,
         'default_country' => NULL,
         'all_country_codes' => TRUE,
         'country_codes' => array('country_selection' => array()),
@@ -78,11 +79,24 @@ function cck_phone_field_instance_settings_form($field, $instance) {
   $settings   = array_merge($defaults, $instance['settings']);
 
   $form = array();
+  $form['enable_default_country'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Enable default country code'),
+    '#default_value' => $settings['enable_default_country'],
+    '#description' => t('Check this to enable default country code below.'),
+  );
+
   $form['default_country'] = array(
     '#type' => 'select',
     '#title' => t('Default country code'),
     '#default_value' => $settings['default_country'],
     '#options' => _cck_phone_cc_options(TRUE),
+    '#description' => t('Item marked with * comes with country level phone number validation.'),
+    '#states' => array(
+      'visible' => array(
+        ':input[name="enable_default_country"]' => array('checked' => TRUE),
+      ),
+    )
   );
 
   $form['all_country_codes'] = array(
@@ -99,6 +113,11 @@ function cck_phone_field_instance_settings_form($field, $instance) {
     '#collapsible' => TRUE,
     '#collapsed' => TRUE,
     '#attributes' => array('class' => array('cck-phone-settings')),
+    '#states' => array(
+      'visible' => array(
+        ':input[name="all_country_codes"]' => array('checked' => FALSE),
+      ),
+    ),
   );
 
   $form['country_codes']['country_selection'] = array(
@@ -108,6 +127,12 @@ function cck_phone_field_instance_settings_form($field, $instance) {
     '#options' => _cck_phone_cc_options(TRUE),
     '#description' => t('Country marks with <em>*</em> has custom country code settings and/or validation.'),
   );
+  if (isset($settings['country_codes']['country_selection']) && !empty($settings['country_codes']['country_selection'])) {
+    $form['country_codes']['country_selection']['#default_value'] = $settings['country_codes']['country_selection'];
+  }
+  elseif ($settings['enable_default_country']) {
+    $form['country_codes']['country_selection']['#default_value'] = array($settings['default_country'] => $settings['default_country']);
+  }
 
   $form['enable_country_level_validation'] = array(
     '#type' => 'checkbox',
@@ -729,9 +754,18 @@ function cck_phone_phone_number_process($element, &$form_state, $form) {
   $element['country_codes'] = array(
     '#type' => 'select',
 //    '#title' => 'Country code',
-    '#default_value' => isset($item['country_codes']) ? $item['country_codes'] : $settings['default_country'],
     '#options' => _cck_phone_cc_options(),
   );
+  if (isset($item['country_codes'])) {
+    $element['country_codes']['#default_value'] = $item['country_codes'];
+  }
+  elseif ($settings['enable_default_country']) {
+    $element['country_codes']['#default_value'] = $settings['default_country'];
+  }
+  else {
+    $element['country_codes']['#empty_option'] = t("- Select -");
+  }
+
 /*  if ($field['all_country_codes']) {
     $element['country_codes']['#options'] = _cck_phone_cc_options();
   }
