diff --git a/src/Form/JobItemAbortForm.php b/src/Form/JobItemAbortForm.php
index 7b3db1a..984ba18 100644
--- a/src/Form/JobItemAbortForm.php
+++ b/src/Form/JobItemAbortForm.php
@@ -40,17 +40,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 976741f..047cdb7 100644
--- a/src/Form/JobItemForm.php
+++ b/src/Form/JobItemForm.php
@@ -558,7 +558,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/tmgmt.module b/tmgmt.module
index 0ed7917..329b6be 100644
--- a/tmgmt.module
+++ b/tmgmt.module
@@ -709,6 +709,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());
     }
@@ -813,7 +838,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);
 }
 
 /**
