diff --git a/addressfield.module b/addressfield.module
index 06affd4..b4a7bdf 100644
--- a/addressfield.module
+++ b/addressfield.module
@@ -746,6 +746,7 @@ function _addressfield_country_options_list($field = NULL, $instance = NULL) {
       }
     }
   }
+  $countries = array('' => '- No address -') + $countries;
 
   return $countries;
 }
diff --git a/plugins/format/address.inc b/plugins/format/address.inc
index 78c5ef5..ec6087f 100644
--- a/plugins/format/address.inc
+++ b/plugins/format/address.inc
@@ -339,6 +339,11 @@ function addressfield_format_address_generate(&$format, $address, $context = arr
     unset($format['locality_block'][$first_child]['#prefix']);
   }
 
+  // Load no form fields for the No address option.
+  if ($address['country'] === '') {
+    $format = array();
+  }
+
   if ($context['mode'] == 'form') {
     // Provide a wrapper ID for AJAX replacement based on country selection.
     if (!isset($format['#wrapper_id'])) {
