diff --git a/includes/common.inc b/includes/common.inc
index b6ea297b12c8628c95ff75f02e95ce655228bd16..e48efa46a5066463f8389798c43b99451bf6357e 100644
--- a/includes/common.inc
+++ b/includes/common.inc
@@ -7584,7 +7584,7 @@ function entity_label($entity_type, $entity) {
   $label = FALSE;
   $info = entity_get_info($entity_type);
   if (isset($info['label callback']) && function_exists($info['label callback'])) {
-    $label = $info['label callback']($entity);
+    $label = $info['label callback']($entity_type, $entity);
   }
   elseif (!empty($info['entity keys']['label']) && isset($entity->{$info['entity keys']['label']})) {
     $label = $entity->{$info['entity keys']['label']};
diff --git a/modules/field/tests/field_test.module b/modules/field/tests/field_test.module
index 09415e216007f31b7a6edac0b6575fbf053a15f3..237b833eacf687ae80cfb62246ae5a1f3d6a0c3f 100644
--- a/modules/field/tests/field_test.module
+++ b/modules/field/tests/field_test.module
@@ -225,13 +225,15 @@ function field_test_dummy_field_storage_query(EntityFieldQuery $query) {
 /**
  * Entity label callback.
  *
+ * @param $entity_type
+ *   The entity type.
  * @param $entity
  *   The entity object.
  *
  * @return
  *   The label of the entity prefixed with "label callback".
  */
-function field_test_entity_label_callback($entity) {
+function field_test_entity_label_callback($entity_type, $entity) {
   return 'label callback ' . $entity->ftlabel;
 }
 
diff --git a/modules/system/system.api.php b/modules/system/system.api.php
index d5805b999ad0dcfff2944c878c55219c1d9ffbee..f11c304aee1b740bbb6872f43be0b202c1cc030a 100644
--- a/modules/system/system.api.php
+++ b/modules/system/system.api.php
@@ -87,16 +87,16 @@ function hook_hook_info_alter(&$hooks) {
  *   - uri callback: A function taking an entity as argument and returning the
  *     uri elements of the entity, e.g. 'path' and 'options'. The actual entity
  *     uri can be constructed by passing these elements to url().
- *   - label callback: (optional) A function taking an entity as argument and
- *     returning the label of the entity. The entity label is the main string
- *     associated with an entity; for example, the title of a node or the
- *     subject of a comment. If there is an entity object property that defines
- *     the label, use the 'label' element of the 'entity keys' return
- *     value component to provide this information (see below). If more complex
- *     logic is needed to determine the label of an entity, you can instead
- *     specify a callback function here, which will be called to determine the
- *     entity label. See also the entity_label() function, which implements this
- *     logic.
+ *   - label callback: (optional) A function taking an entity type and an entity
+ *     as arguments and returning the label of the entity. The entity label is
+ *     the main string associated with an entity; for example, the title of a
+ *     node or the subject of a comment. If there is an entity object property
+ *     that defines the label, use the 'label' element of the 'entity keys'
+ *     return value component to provide this information (see below). If more
+ *     complex logic is needed to determine the label of an entity, you can
+ *     instead specify a callback function here, which will be called to
+ *     determine the entity label. See also the entity_label() function, which
+ *     implements this logic.
  *   - fieldable: Set to TRUE if you want your entity type to accept fields
  *     being attached to it.
  *   - translation: An associative array of modules registered as field