diff --git a/core/modules/field/field.form.inc b/core/modules/field/field.form.inc
index d9a0342..bd8cba6 100644
--- a/core/modules/field/field.form.inc
+++ b/core/modules/field/field.form.inc
@@ -104,7 +104,7 @@ function field_default_form($entity_type, $entity, $field, $instance, $langcode,
         '#field_parents' => $parents,
         '#columns' => array_keys($field['columns']),
         '#title' => check_plain($instance['label']),
-        '#description' => field_filter_xss($instance['description']),
+        '#description' => field_filter_xss(token_replace($instance['description'])),
         // Only the first widget should be required.
         '#required' => $delta == 0 && $instance['required'],
         '#delta' => $delta,
@@ -194,7 +194,7 @@ function field_multiple_value_form($field, $instance, $langcode, $items, &$form,
   }
 
   $title = check_plain($instance['label']);
-  $description = field_filter_xss($instance['description']);
+  $description = field_filter_xss(token_replace($instance['description']));
 
   $id_prefix = implode('-', array_merge($parents, array($field_name)));
   $wrapper_id = drupal_html_id($id_prefix . '-add-more-wrapper');
diff --git a/core/modules/field/lib/Drupal/field/Tests/FormTest.php b/core/modules/field/lib/Drupal/field/Tests/FormTest.php
index 94919aa..79ffecf 100644
--- a/core/modules/field/lib/Drupal/field/Tests/FormTest.php
+++ b/core/modules/field/lib/Drupal/field/Tests/FormTest.php
@@ -30,7 +30,7 @@ class FormTest extends FieldTestBase {
       'entity_type' => 'test_entity',
       'bundle' => 'test_bundle',
       'label' => $this->randomName() . '_label',
-      'description' => $this->randomName() . '_description',
+      'description' => '[date:short]_description',
       'weight' => mt_rand(0, 127),
       'settings' => array(
         'test_instance_setting' => $this->randomName(),
@@ -55,6 +55,10 @@ class FormTest extends FieldTestBase {
 
     // Display creation form.
     $this->drupalGet('test-entity/add/test_bundle');
+
+    // Create token value expected for description.
+    $token_description = format_date(time(), 'short') . '_description';
+    $this->assertText($token_description, 'Token replacement for description is displayed');
     $this->assertFieldByName("{$this->field_name}[$langcode][0][value]", '', 'Widget is displayed');
     $this->assertNoField("{$this->field_name}[$langcode][1][value]", 'No extraneous widget is displayed');
     // TODO : check that the widget is populated with default value ?
diff --git a/core/modules/image/image.field.inc b/core/modules/image/image.field.inc
index 80b8fb8..0b517ea 100644
--- a/core/modules/image/image.field.inc
+++ b/core/modules/image/image.field.inc
@@ -337,7 +337,7 @@ function image_field_widget_form(&$form, &$form_state, $field, $instance, $langc
   if ($field['cardinality'] == 1) {
     // If there's only one field, return it as delta 0.
     if (empty($elements[0]['#default_value']['fid'])) {
-      $elements[0]['#description'] = theme('file_upload_help', array('description' => $instance['description'], 'upload_validators' => $elements[0]['#upload_validators']));
+      $elements[0]['#description'] = theme('file_upload_help', array('description' => token_replace($instance['description']), 'upload_validators' => $elements[0]['#upload_validators']));
     }
   }
   else {
diff --git a/core/modules/image/lib/Drupal/image/Tests/ImageFieldDisplayTest.php b/core/modules/image/lib/Drupal/image/Tests/ImageFieldDisplayTest.php
index 2ae34d1..ef878c7 100644
--- a/core/modules/image/lib/Drupal/image/Tests/ImageFieldDisplayTest.php
+++ b/core/modules/image/lib/Drupal/image/Tests/ImageFieldDisplayTest.php
@@ -129,6 +129,7 @@ class ImageFieldDisplayTest extends ImageFieldTestBase {
       'max_resolution' => '100x100',
       'min_resolution' => '10x10',
       'title_field' => 1,
+      'description' => '[date:short]_description',
     );
     $widget_settings = array(
       'preview_image_style' => 'medium',
@@ -140,6 +141,8 @@ class ImageFieldDisplayTest extends ImageFieldTestBase {
     $instance = field_info_instance('node', $field_name, 'article');
 
     $this->drupalGet('node/add/article');
+    $token_description = format_date(time(), 'short') . '_description';
+    $this->assertText($token_description, 'Token replacement for description is displayed on article form.');
     $this->assertText(t('Files must be less than 50 KB.'), t('Image widget max file size is displayed on article form.'));
     $this->assertText(t('Allowed file types: ' . $test_image_extension . '.'), t('Image widget allowed file types displayed on article form.'));
     $this->assertText(t('Images must be between 10x10 and 100x100 pixels.'), t('Image widget allowed resolution displayed on article form.'));
diff --git a/core/modules/image/lib/Drupal/image/Tests/ImageFieldTestBase.php b/core/modules/image/lib/Drupal/image/Tests/ImageFieldTestBase.php
index 86ab992..306ac3e 100644
--- a/core/modules/image/lib/Drupal/image/Tests/ImageFieldTestBase.php
+++ b/core/modules/image/lib/Drupal/image/Tests/ImageFieldTestBase.php
@@ -84,6 +84,7 @@ abstract class ImageFieldTestBase extends WebTestBase {
       'label' => $name,
       'bundle' => $type_name,
       'required' => !empty($instance_settings['required']),
+      'description' => !empty($instance_settings['description']) ? $instance_settings['description'] : '',
       'settings' => array(),
       'widget' => array(
         'type' => 'image_image',
