diff --git a/sources/content/src/ContentEntitySourcePluginUi.php b/sources/content/src/ContentEntitySourcePluginUi.php
index 295a380..8b2c268 100644
--- a/sources/content/src/ContentEntitySourcePluginUi.php
+++ b/sources/content/src/ContentEntitySourcePluginUi.php
@@ -294,7 +294,7 @@ class ContentEntitySourcePluginUi extends SourcePluginUiBase {
 
     $row = array(
       'id' => $data['entity_id'],
-      'title' => \Drupal::l($label, Url::fromUri('base:/' . $data['entity_url'])),
+      'title' => \Drupal::l($label, Url::fromUri('entity:' . $data['entity_type'] . '/' . $data['entity_id'])),
     );
 
     if (isset($data['bundle'])) {
diff --git a/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php b/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
index 57277f8..098a791 100644
--- a/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
+++ b/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
@@ -7,7 +7,6 @@
 
 namespace Drupal\tmgmt_content\Plugin\tmgmt\Source;
 
-use Drupal\Core\Field\FieldDefinitionInterface;
 use Drupal\Core\Field\FieldItemInterface;
 use Drupal\Core\TypedData\OptionsProviderInterface;
 use Drupal\Core\TypedData\Type\StringInterface;
@@ -58,11 +57,8 @@ class ContentEntitySource extends SourcePluginBase {
       throw new TMGMTException(t('Unable to load entity %type with id %id', array('%type' => $job_item->getItemType(), $job_item->getItemId())));
     }
     $field_definitions = $entity->getFieldDefinitions();
-    // @todo Expand this list or find a better solution to exclude fields like
-    //   content_translation_source.
-    $exclude_field_types = ['language'];
-    $translatable_fields = array_filter($field_definitions, function (FieldDefinitionInterface $field_definition) use ($exclude_field_types) {
-      return $field_definition->isTranslatable() && !in_array($field_definition->getType(), $exclude_field_types);
+    $translatable_fields = array_filter($field_definitions, function ($field_definition) {
+      return $field_definition->isTranslatable();
     });
 
     $data = array();
diff --git a/sources/content/src/Tests/ContentEntitySourceListTest.php b/sources/content/src/Tests/ContentEntitySourceListTest.php
index 9c151af..1da06c9 100644
--- a/sources/content/src/Tests/ContentEntitySourceListTest.php
+++ b/sources/content/src/Tests/ContentEntitySourceListTest.php
@@ -8,6 +8,7 @@
 namespace Drupal\tmgmt_content\Tests;
 
 use Drupal\comment\Entity\CommentType;
+use Drupal\Core\Language\LanguageInterface;
 use Drupal\tmgmt\Entity\JobItem;
 use Drupal\tmgmt\Tests\EntityTestBase;
 
@@ -53,6 +54,7 @@ class ContentEntitySourceListTest extends EntityTestBase {
     $this->nodes['article']['en'][2] = $this->createNode('article', 'en');
     $this->nodes['article']['en'][1] = $this->createNode('article', 'en');
     $this->nodes['article']['en'][0] = $this->createNode('article', 'en');
+    $this->nodes['article'][LanguageInterface::LANGCODE_NOT_SPECIFIED][0] = $this->createNode('article', LanguageInterface::LANGCODE_NOT_SPECIFIED);
   }
 
   /**
@@ -122,6 +124,8 @@ class ContentEntitySourceListTest extends EntityTestBase {
     $this->assertText($this->nodes['article']['en'][0]->label());
     // Page node type should not be listed as it is not entity translatable.
     $this->assertNoText($this->nodes['page']['en'][0]->label());
+    // If the source language is not defined, don't display it. 
+    $this->assertNoText($this->nodes['article'][LanguageInterface::LANGCODE_NOT_SPECIFIED][0]->label());
   }
 
   function testTranslationStatuses() {
diff --git a/sources/content/tmgmt_content.module b/sources/content/tmgmt_content.module
index b268067..d5762a4 100644
--- a/sources/content/tmgmt_content.module
+++ b/sources/content/tmgmt_content.module
@@ -101,6 +101,8 @@ function tmgmt_content_get_translatable_entities($entity_type_id, $property_cond
     $langcode_table_alias = $query->innerJoin($data_table, 'data_table', '%alias.' . $id_key . ' = e.' . $id_key . ' AND %alias.default_langcode = 1');
   }
 
+  $property_conditions += array('langcode' => $langcodes);
+
   // Searching for sources with missing translation.
   if (!empty($property_conditions['target_status']) && !empty($property_conditions['target_language']) && in_array($property_conditions['target_language'], $languages)) {
 
@@ -177,7 +179,7 @@ function tmgmt_content_get_translatable_entities($entity_type_id, $property_cond
   // generic way.
   foreach ($property_conditions as $property_name => $property_value) {
     $alias = $property_name == 'langcode' ? $langcode_table_alias : 'e';
-    $query->condition($alias . '.' . $property_name, $property_value);
+    $query->condition($alias . '.' . $property_name, (array) $property_value, 'IN');
   }
 
   if ($pager) {
diff --git a/translators/tmgmt_local/tmgmt_local.module b/translators/tmgmt_local/tmgmt_local.module
index cdc6b1f..bad754d 100755
--- a/translators/tmgmt_local/tmgmt_local.module
+++ b/translators/tmgmt_local/tmgmt_local.module
@@ -761,7 +761,7 @@ function tmgmt_local_abilities($source_language = NULL, $target_language = NULL,
   // If the authenticated user role has the required permission we do not have
   // to do the role check.
   if (!in_array('authenticated user', $roles)) {
-    $query->leftJoin('user__roles', 'ur', "ur.entity_id = u.uid AND ur.roles_target_id IN (:roles)", array(':roles' => array_keys($roles)));
+    $query->leftJoin('user__roles', 'ur', "ur.entity_id = u.uid AND ur.roles_target_id IN (:roles[])", array(':roles[]' => array_keys($roles)));
   }
 
   // Add a tag so other modules can alter this query at will.
