diff --git a/modules/customer/commerce_customer.module b/modules/customer/commerce_customer.module
index ac37929..85a086f 100644
--- a/modules/customer/commerce_customer.module
+++ b/modules/customer/commerce_customer.module
@@ -21,7 +21,6 @@ function commerce_customer_entity_info() {
         'id' => 'profile_id',
         'revision' => 'revision_id',
         'bundle' => 'type',
-        'label' => 'profile_id', // TODO: Update to use a custom callback.
       ),
       'bundle keys' => array(
         'bundle' => 'type',
@@ -42,6 +41,7 @@ function commerce_customer_entity_info() {
         ),
       ),
       'uri callback' => 'commerce_customer_profile_uri',
+      'label callback' => 'commerce_customer_profile_label',
       'token type' => 'commerce-customer-profile',
       'metadata controller class' => '',
       'access callback' => 'commerce_entity_access',
@@ -84,6 +84,34 @@ function commerce_customer_profile_uri($profile) {
 }
 
 /**
+ * Entity label callback, uses the callback defined the profile.
+ */
+function commerce_customer_profile_label($profile) {
+  $profile_type = commerce_customer_profile_type_load($profile->type);
+  // Make sure we get a valid label callback.
+  $callback = $profile_type['label_callback'];
+  $callback = function_exists($callback) ? $callback : 'commerce_customer_profile_default_label';
+  return $callback($profile);
+}
+
+/**
+ * The default label callback for customer profiles.
+ *
+ * @return the thoroughfare (street) from the addressfield as the label
+ * representing the customer profile, fallback to the profile id.
+ */
+function commerce_customer_profile_default_label($profile) {
+  if (!empty($profile->commerce_customer_address)) {
+    $profile_wrapper = entity_metadata_wrapper('commerce_customer_profile', $profile);
+    $label = $profile_wrapper->commerce_customer_address->thoroughfare->value();
+  }
+  if (empty($label)) {
+    $label = $profile->profile_id;
+  }
+  return $label;
+}
+
+/**
  * Implements hook_hook_info().
  */
 function commerce_customer_hook_info() {
@@ -410,6 +438,7 @@ function commerce_customer_profile_types() {
           'help' => '',
           'addressfield' => TRUE,
           'module' => $module,
+          'label_callback' => 'commerce_customer_profile_default_label',
         );
 
         $profile_types[$type] = array_merge($defaults, $profile_type);
