diff --git addressfield.css addressfield.css
index 46edeac..082c9dc 100644
--- addressfield.css
+++ addressfield.css
@@ -2,6 +2,12 @@
   float: left;
   margin-right: 1em;
 }
+
+.addressfield-container-inline.country-GB > div.form-item {
+  float: none;
+  margin-right: auto;
+}
+
 /* Clear-fix markup for the inline container */
 .addressfield-container-inline:after {
   content: ".";
diff --git plugins/format/address.inc plugins/format/address.inc
index 63f41ba..a0d7c80 100644
--- plugins/format/address.inc
+++ plugins/format/address.inc
@@ -44,7 +44,7 @@ function addressfield_format_address_generate(&$format, $address, $context = arr
   );
   $format['locality_block'] = array(
     '#type' => 'addressfield_container',
-    '#attributes' => array('class' => array('addressfield-container-inline', 'locality-block')),
+    '#attributes' => array('class' => array('addressfield-container-inline', 'locality-block', 'country-' . $address['country'])),
     '#weight' => 50,
   );
   $format['locality_block']['#attached']['css'][] = drupal_get_path('module', 'addressfield') . '/addressfield.css';
@@ -359,6 +359,44 @@ function addressfield_format_address_generate(&$format, $address, $context = arr
     unset($format['locality_block'][$first_child]['#prefix']);
   }
 
+  // GB-specific tweaks
+  if ($address['country'] == 'GB') {
+    // Locality
+    $format['locality_block']['locality'] = array_merge(
+      $format['locality_block']['locality'],
+      array(
+        '#title' => t('Town/City'),
+        '#weight' => 40,
+        '#prefix' => '',
+        '#tag' => 'div',
+      )
+    );
+
+    // Administrative
+    $format['locality_block']['administrative_area'] = array_merge(
+      $format['locality_block']['administrative_area'],
+      array(
+        '#title' => t('County'),
+        '#required' => FALSE,
+        '#weight' => 50,
+        '#size' => 30,
+        '#prefix' => '',
+        '#tag' => 'div',
+      )
+    );
+
+    // Postal code
+    $format['locality_block']['postal_code'] = array_merge(
+      $format['locality_block']['postal_code'],
+      array(
+        '#title' => t('Postcode'),
+        '#weight' => 60,
+        '#prefix' => '',
+        '#tag' => 'div',
+      )
+    );
+  }
+
   if ($context['mode'] == 'form') {
     // Provide a wrapper ID for AJAX replacement based on country selection.
     if (!isset($format['#wrapper_id'])) {

