diff --git a/sources/locale/src/LocaleSourcePluginUi.php b/sources/locale/src/LocaleSourcePluginUi.php
index 0701390..9da8503 100644
--- a/sources/locale/src/LocaleSourcePluginUi.php
+++ b/sources/locale/src/LocaleSourcePluginUi.php
@@ -94,7 +94,7 @@ class LocaleSourcePluginUi extends SourcePluginUiBase {
   }
 
   /**
-   * Implements TMGMTSourceUIControllerInterface::overviewForm().
+   * {@inheritdoc}
    */
   public function overviewForm(array $form, FormStateInterface $form_state, $type) {
     $form = parent::overviewForm($form, $form_state, $type);
@@ -243,7 +243,7 @@ class LocaleSourcePluginUi extends SourcePluginUiBase {
   }
 
   /**
-   * Implements TMGMTSourceUIControllerInterface::overviewFormSubmit().
+   * {@inheritdoc}
    */
   public function overviewFormSubmit(array $form, FormStateInterface $form_state, $type) {
     // Handle search redirect.
diff --git a/src/Form/JobItemAbortForm.php b/src/Form/JobItemAbortForm.php
index 53c543e..2f7c875 100644
--- a/src/Form/JobItemAbortForm.php
+++ b/src/Form/JobItemAbortForm.php
@@ -45,17 +45,7 @@ class JobItemAbortForm extends ContentEntityConfirmFormBase {
     $entity = $this->entity;
     try {
       if (!$entity->abortTranslation()) {
-        foreach ($entity->getMessagesSince() as $message) {
-          /** @var \Drupal\tmgmt\MessageInterface $message */
-          if ($message->getType() == 'debug') {
-            continue;
-          }
-          if ($text = $message->getMessage()) {
-            // We want to persist also the type therefore we will set the
-            // messages directly and not return them.
-            drupal_set_message($text, $message->getType());
-          }
-        }
+        tmgmt_write_request_messages($entity);
       }
     }
     catch(TMGMTException $e) {
diff --git a/src/Form/JobItemForm.php b/src/Form/JobItemForm.php
index 239d037..e555260 100644
--- a/src/Form/JobItemForm.php
+++ b/src/Form/JobItemForm.php
@@ -563,7 +563,7 @@ class JobItemForm extends TmgmtFormBase {
   function ajaxReviewForm(array $form, FormStateInterface $form_state) {
     $key = array_slice($form_state->getTriggeringElement()['#array_parents'], 0, 2);
     $render_data = NestedArray::getValue($form, $key);
-    tmgmt_write_request_messages($form_state->getFormObject()->getEntity()->getJob());
+    tmgmt_write_request_messages_for_jobItem($form_state->getFormObject()->getEntity());
     return $render_data;
   }
 
diff --git a/src/SourcePluginUiBase.php b/src/SourcePluginUiBase.php
index 25ef2f5..8dd4eb1 100644
--- a/src/SourcePluginUiBase.php
+++ b/src/SourcePluginUiBase.php
@@ -47,7 +47,15 @@ class SourcePluginUiBase extends PluginBase implements SourcePluginUiInterface {
   }
 
   /**
-   * {@inheritdoc}
+   * @param array $form
+   *   Drupal form array.
+   * @param \Drupal\Core\Form\FormStateInterface $form_state
+   *  The current state of the form
+   * @param string $type
+   *   Entity type.
+   *
+   * @return array
+   *   Drupal form array.
    */
   public function overviewForm(array $form, FormStateInterface $form_state, $type) {
     $form += $this->overviewSearchFormPart($form, $form_state, $type);
@@ -71,7 +79,12 @@ class SourcePluginUiBase extends PluginBase implements SourcePluginUiInterface {
   }
 
   /**
-   * {@inheritdoc}
+   * @param array $form
+   *   Drupal form array.
+   * @param \Drupal\Core\Form\FormStateInterface $form_state
+   *  The current state of the form
+   * @param string $type
+   *   Entity type.
    */
   public function overviewFormSubmit(array $form, FormStateInterface $form_state, $type) {
     // Nothing to do here by default.
diff --git a/tmgmt.module b/tmgmt.module
index 1db93fc..f01297f 100644
--- a/tmgmt.module
+++ b/tmgmt.module
@@ -695,6 +695,31 @@ function tmgmt_write_request_messages(JobInterface $job) {
     if ($message->getType() == 'error') {
       $errors = TRUE;
     }
+    if ($text = $message->getType()) {
+      drupal_set_message($text, $message->getType());
+    }
+  }
+  return !$errors;
+}
+
+/**
+ * Print all messages that occurred since our request to the screen.
+ *
+ * @param \Drupal\tmgmt\JobItemInterface $job_item
+ *    The translation job for which the message should be written.
+ *
+ * @return bool
+ *    FALSE if there are message with severity error, TRUE otherwise.
+ */
+function tmgmt_write_request_messages_for_jobItem(JobItemInterface $job_item) {
+  $errors = FALSE;
+  foreach ($job_item->getJob()->getMessagesSince() as $message) {
+    if ($message->getType() == 'debug') {
+      continue;
+    }
+    if ($message->getType() == 'error') {
+      $errors = TRUE;
+    }
     if ($text = $message->getMessage()) {
       drupal_set_message($text, $message->getType());
     }
@@ -799,7 +824,7 @@ function tmgmt_translation_review_form_update_state(array $form, FormStateInterf
     }
   }
   $job_item->save();
-  tmgmt_write_request_messages($job_item->getJob());
+  tmgmt_write_request_messages_for_JobItem($job_item);
 }
 
 /**
diff --git a/translators/tmgmt_file/tmgmt_file.module b/translators/tmgmt_file/tmgmt_file.module
index fdf5ffb..8f98a52 100644
--- a/translators/tmgmt_file/tmgmt_file.module
+++ b/translators/tmgmt_file/tmgmt_file.module
@@ -56,15 +56,7 @@ function tmgmt_file_import_form_submit(array $form, FormStateInterface $form_sta
       }
     }
   }
-  foreach ($job->getMessagesSince() as $message) {
-    // Ignore debug messages.
-    if ($message->getType() == 'debug') {
-      continue;
-    }
-    if ($text = $message->getMessage()) {
-      drupal_set_message($text, $message->getType());
-    }
-  }
+  tmgmt_write_request_messages($job);
 }
 
 /**
