diff --git a/sources/content/src/Tests/ContentEntitySourceUiTest.php b/sources/content/src/Tests/ContentEntitySourceUiTest.php
index 81b23cf..d6562eb 100644
--- a/sources/content/src/Tests/ContentEntitySourceUiTest.php
+++ b/sources/content/src/Tests/ContentEntitySourceUiTest.php
@@ -28,7 +28,7 @@ class ContentEntitySourceUiTest extends EntityTestBase {
    *
    * @var array
    */
-  public static $modules = array('tmgmt_content', 'comment', 'ckeditor');
+  public static $modules = array('tmgmt_content', 'comment', 'ckeditor', 'tmgmt_local');
 
   /**
    * {@inheritdoc}
@@ -84,8 +84,12 @@ class ContentEntitySourceUiTest extends EntityTestBase {
     $this->assertText(t('One job needs to be checked out.'));
     $this->assertText($node->getTitle());
 
+    $edit = [
+      'translator' => 'test_translator',
+    ];
+
     // Submit.
-    $this->drupalPostForm(NULL, array(), t('Submit to provider'));
+    $this->drupalPostForm(NULL, $edit, t('Submit to provider'));
 
     // Make sure that we're back on the translate tab.
     $this->assertEqual($node->url('canonical', array('absolute' => TRUE)) . '/translations', $this->getUrl());
@@ -139,7 +143,10 @@ class ContentEntitySourceUiTest extends EntityTestBase {
     // Verify that we are on the checkout page.
     $this->assertText(t('One job needs to be checked out.'));
     $this->assertText($node->getTitle());
-    $this->drupalPostForm(NULL, array(), t('Submit to provider'));
+    $edit = array(
+      'translator' => 'test_translator',
+    );
+    $this->drupalPostForm(NULL, $edit, t('Submit to provider'));
 
     // Make sure that we're back on the originally defined destination URL.
     $this->assertEqual($node->url('canonical', array('absolute' => TRUE)), $this->getUrl());
@@ -187,7 +194,10 @@ class ContentEntitySourceUiTest extends EntityTestBase {
       'languages[de]' => TRUE,
     );
     $this->drupalPostForm(NULL, $edit, t('Request translation'));
-    $this->drupalPostForm(NULL, array(), t('Submit to provider'));
+    $edit = array(
+      'translator' => 'test_translator',
+    );
+    $this->drupalPostForm(NULL, $edit, t('Submit to provider'));
     $this->clickLink(t('Needs review'));
 
     // Delete the node and assert that the job can not be accepted.
@@ -231,9 +241,12 @@ class ContentEntitySourceUiTest extends EntityTestBase {
 
     // Submit all jobs.
     $this->assertText($node->getTitle());
-    $this->drupalPostForm(NULL, array(), t('Submit to provider and continue'));
+    $edit = [
+      'translator' => $default_translator->id(),
+    ];
+    $this->drupalPostForm(NULL, $edit, t('Submit to provider and continue'));
     $this->assertText($node->getTitle());
-    $this->drupalPostForm(NULL, array(), t('Submit to provider'));
+    $this->drupalPostForm(NULL, $edit, t('Submit to provider'));
 
     // Make sure that we're back on the translate tab.
     $this->assertEqual($node->url('canonical', array('absolute' => TRUE)) . '/translations', $this->getUrl());
@@ -327,11 +340,15 @@ class ContentEntitySourceUiTest extends EntityTestBase {
     // Verify that we are on the translate tab.
     $this->assertText(t('2 jobs need to be checked out.'));
 
+    $edit = [
+      'translator' => $default_translator->id(),
+    ];
+
     // Submit all jobs.
     $this->assertText($comment->getSubject());
-    $this->drupalPostForm(NULL, array(), t('Submit to provider and continue'));
+    $this->drupalPostForm(NULL, $edit, t('Submit to provider and continue'));
     $this->assertText($comment->getSubject());
-    $this->drupalPostForm(NULL, array(), t('Submit to provider'));
+    $this->drupalPostForm(NULL, $edit, t('Submit to provider'));
 
     // Make sure that we're back on the translate tab.
     $this->assertUrl($comment->url('canonical', array('absolute' => TRUE)) . '/translations');
@@ -715,4 +732,61 @@ class ContentEntitySourceUiTest extends EntityTestBase {
     $this->assertEqual(count($continuous_job->getItems()), 3, 'There are no new job items for selected nodes.');
   }
 
+  /**
+   * Test local translator with content entity sources.
+   */
+  public function testLocalTranslatorWithContentEntitySource() {
+    $user = $this->loginAsAdmin([
+      'administer translation tasks',
+      'provide translation services',
+      'view the administration theme',
+      'administer themes',
+      'translate any entity',
+      'create content translations',
+      'view own unpublished content',
+    ]);
+
+    $edit = array(
+      'tmgmt_translation_skills[0][language_from]' => 'en',
+      'tmgmt_translation_skills[0][language_to]' => 'de',
+    );
+    $this->drupalPostForm('user/' . $user->id() . '/edit', $edit, t('Save'));
+
+    // Create an english source node.
+    $node = $this->createTranslatableNode('page', 'en');
+    $node->setPublished(FALSE);
+    $node->save();
+
+    // Go to the translate tab.
+    $this->drupalGet('node/' . $node->id());
+    $this->clickLink('Translate');
+
+    // Request a translation for german.
+    $edit = array(
+      'languages[de]' => TRUE,
+    );
+    $this->drupalPostForm(NULL, $edit, t('Request translation'));
+    $this->assertText($node->getTitle());
+
+    // Submit job.
+    $edit = [
+      'settings[translator]' => $user->id(),
+    ];
+    $this->drupalPostForm(NULL, $edit, t('Submit to provider'));
+
+    $this->drupalLogin($user);
+
+    // Go to local task item form.
+    $this->drupalGet('translate');
+    $this->clickLink(t('View'));
+    $this->clickLink(t('Translate'));
+
+    // Assert source link
+    $this->assertLink($node->getTitle());
+
+    // Test that local translator can access an unpublished node.
+    $this->clickLink($node->getTitle());
+    $this->assertText($node->getTitle());
+  }
+
 }
diff --git a/translators/tmgmt_local/src/Entity/LocalTaskItem.php b/translators/tmgmt_local/src/Entity/LocalTaskItem.php
index 1b8b191..a614059 100644
--- a/translators/tmgmt_local/src/Entity/LocalTaskItem.php
+++ b/translators/tmgmt_local/src/Entity/LocalTaskItem.php
@@ -142,6 +142,13 @@ class LocalTaskItem extends ContentEntityBase implements LocalTaskItemInterface
   /**
    * {@inheritdoc}
    */
+  public function getStatus() {
+    return $this->get('status')->value;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
   public function isPending() {
     return $this->get('status')->value == LocalTaskItemInterface::STATUS_PENDING;
   }
diff --git a/translators/tmgmt_local/src/Form/LocalTaskItemForm.php b/translators/tmgmt_local/src/Form/LocalTaskItemForm.php
index 6b6d313..9cde3bc 100644
--- a/translators/tmgmt_local/src/Form/LocalTaskItemForm.php
+++ b/translators/tmgmt_local/src/Form/LocalTaskItemForm.php
@@ -12,6 +12,7 @@ use Drupal\Component\Utility\NestedArray;
 use Drupal\Component\Utility\Xss;
 use Drupal\Core\Entity\ContentEntityForm;
 use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\Link;
 use Drupal\Core\Render\Element;
 use Drupal\tmgmt_local\Entity\LocalTaskItem;
 use Drupal\tmgmt_local\LocalTaskInterface;
@@ -40,7 +41,60 @@ class LocalTaskItemForm extends ContentEntityForm {
 
     $form['#title'] = $task_item->label();
 
-    $job = $task_item->getJobItem()->getJob();
+    $job_item = $task_item->getJobItem();
+    $job = $job_item->getJob();
+
+    $form['info'] = array(
+      '#type' => 'container',
+      '#attributes' => array('class' => array('tmgmt-ui-localTask-info', 'clearfix')),
+      '#weight' => 0,
+    );
+
+    $url = $job_item->getSourceUrl();
+    $form['info']['source'] = array(
+      '#type' => 'item',
+      '#title' => t('Source'),
+      '#markup' => $url ? Link::fromTextAndUrl($job_item->getSourceLabel(), $url)->toString() : $job_item->getSourceLabel(),
+      '#prefix' => '<div class="tmgmt-ui-source tmgmt-ui-info-item">',
+      '#suffix' => '</div>',
+    );
+
+    $form['info']['sourcetype'] = array(
+      '#type' => 'item',
+      '#title' => t('Source type'),
+      '#markup' => $job_item->getSourceType(),
+      '#prefix' => '<div class="tmgmt-ui-source-type tmgmt-ui-info-item">',
+      '#suffix' => '</div>',
+    );
+
+    $form['info']['changed'] = array(
+      '#type' => 'item',
+      '#title' => t('Last change'),
+      '#value' => $task_item->getChangedTime(),
+      '#markup' => \Drupal::service('date.formatter')->format($task_item->getChangedTime()),
+      '#prefix' => '<div class="tmgmt-ui-changed tmgmt-ui-info-item">',
+      '#suffix' => '</div>',
+    );
+
+    $statuses = LocalTaskItem::getStatuses();
+    $form['info']['status'] = array(
+      '#type' => 'item',
+      '#title' => t('Status'),
+      '#markup' => $statuses[$task_item->getStatus()],
+      '#prefix' => '<div class="tmgmt-ui-task-item-status tmgmt-ui-info-item">',
+      '#suffix' => '</div>',
+      '#value' => $task_item->getStatus(),
+    );
+
+    $task = $task_item->getTask();
+    $url = $task->toUrl();
+    $form['info']['task'] = array(
+      '#type' => 'item',
+      '#title' => t('Task'),
+      '#markup' => Link::fromTextAndUrl($task->label(), $url)->toString(),
+      '#prefix' => '<div class="tmgmt-ui-task tmgmt-ui-info-item">',
+      '#suffix' => '</div>',
+    );
 
     if ($job->getSetting('job_comment')) {
       $form['job_comment'] = array(
diff --git a/translators/tmgmt_local/src/LocalTaskItemInterface.php b/translators/tmgmt_local/src/LocalTaskItemInterface.php
index 08384f6..428aa84 100644
--- a/translators/tmgmt_local/src/LocalTaskItemInterface.php
+++ b/translators/tmgmt_local/src/LocalTaskItemInterface.php
@@ -54,6 +54,16 @@ interface LocalTaskItemInterface extends ContentEntityInterface, EntityChangedIn
   public function getJobItem();
 
   /**
+   * Returns the status of the local task item.
+   *
+   * Can be one of the local task item status constants.
+   *
+   * @return int
+   *   The status of the local task item.
+   */
+  public function getStatus();
+
+  /**
    * Returns TRUE if the local task is pending.
    *
    * @return bool
diff --git a/translators/tmgmt_local/src/Tests/LocalTranslatorTest.php b/translators/tmgmt_local/src/Tests/LocalTranslatorTest.php
index 44248c3..9f026b0 100755
--- a/translators/tmgmt_local/src/Tests/LocalTranslatorTest.php
+++ b/translators/tmgmt_local/src/Tests/LocalTranslatorTest.php
@@ -399,6 +399,13 @@ class LocalTranslatorTest extends TMGMTTestBase {
     $this->assertLink(t('Local Tasks'));
     $this->assertText($job->label());
 
+    // Assert the header.
+    $this->assertLink($first_task_item->getJobItem()->getSourceLabel());
+    $this->assertText($first_task_item->getJobItem()->getSourceType());
+    $this->assertText(\Drupal::service('date.formatter')->format($first_task_item->getChangedTime()));
+    $this->assertText($first_task_item->getStatus());
+    $this->assertLink($first_task_item->getTask()->label());
+
     $this->assertText(t('Dummy'));
     // Check if Save as completed button is displayed.
     $elements = $this->xpath('//*[@id="edit-save-as-completed"]');
