diff --git a/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php b/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
index 816a842..1fcdcaf 100644
--- a/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
+++ b/sources/content/src/Plugin/tmgmt/Source/ContentEntitySource.php
@@ -181,7 +181,6 @@ class ContentEntitySource extends SourcePluginBase {
 
     $data = $job_item->getData();
     $this->doSaveTranslations($entity, $data, $job->getTargetLangcode());
-    $job_item->accepted();
     return TRUE;
   }
 
diff --git a/sources/locale/src/Plugin/tmgmt/Source/LocaleSource.php b/sources/locale/src/Plugin/tmgmt/Source/LocaleSource.php
index 3efd175..9a65b00 100644
--- a/sources/locale/src/Plugin/tmgmt/Source/LocaleSource.php
+++ b/sources/locale/src/Plugin/tmgmt/Source/LocaleSource.php
@@ -223,7 +223,6 @@ class LocaleSource extends SourcePluginBase {
       // Update the locale string in the system.
       // @todo: Send error message to user if update fails.
       if ($this->updateTranslation($job_item->getItemId(), $job->getTargetLangcode(), $translation)) {
-        $job_item->accepted();
         return TRUE;
       }
     }
diff --git a/sources/tmgmt_config/src/Tests/ConfigSourceUiTest.php b/sources/tmgmt_config/src/Tests/ConfigSourceUiTest.php
index 84e41a0..aa72040 100644
--- a/sources/tmgmt_config/src/Tests/ConfigSourceUiTest.php
+++ b/sources/tmgmt_config/src/Tests/ConfigSourceUiTest.php
@@ -88,7 +88,7 @@ class ConfigSourceUiTest extends EntityTestBase {
 
     // Verify that the pending translation is shown.
     $this->clickLink(t('Needs review'));
-    $this->drupalPostForm(NULL, array(), t('Save as completed'));
+    $this->drupalPostForm(NULL, array(), t('Save'));
 
     // Request a spanish translation.
     $edit = array(
@@ -120,12 +120,6 @@ class ConfigSourceUiTest extends EntityTestBase {
    * Test the node type for a single checkout.
    */
   function testNodeTypeTranslateTabMultipeCheckout() {
-    // Allow auto-accept.
-    $default_translator = Translator::load('test_translator');
-    $default_translator
-      ->setSetting('auto_accept', TRUE)
-      ->save();
-
     $this->loginAsTranslator(array('translate configuration'));
 
     // Go to the translate tab.
@@ -213,7 +207,7 @@ class ConfigSourceUiTest extends EntityTestBase {
 
     // Verify that the pending translation is shown.
     $this->clickLink(t('Needs review'));
-    $this->drupalPostForm(NULL, array(), t('Save as completed'));
+    $this->drupalPostForm(NULL, array(), t('Save'));
 
     // Request a spanish translation.
     $edit = array(
diff --git a/src/Entity/JobItem.php b/src/Entity/JobItem.php
index ff9555d..c91ebd4 100644
--- a/src/Entity/JobItem.php
+++ b/src/Entity/JobItem.php
@@ -750,13 +750,15 @@ class JobItem extends ContentEntityBase implements JobItemInterface {
    * {@inheritdoc}
    */
   public function acceptTranslation() {
-    if (!$this->isNeedsReview() || !$plugin = $this->getSourcePlugin()) {
-      return FALSE;
+    if ($this->isNeedsReview() && $plugin = $this->getSourcePlugin()) {
+      // If the plugin could save the translation, we will set it
+      // to the 'accepted' state.
+      if ($plugin->saveTranslation($this)) {
+        $this->accepted();
+        return TRUE;
+      }
     }
-    // We don't know if the source plugin was able to save the translation after
-    // this point. That means that the plugin has to set the 'accepted' states
-    // on its own.
-    $plugin->saveTranslation($this);
+    return FALSE;
   }
 
   /**
diff --git a/tmgmt_test/src/Plugin/tmgmt/Source/TestSource.php b/tmgmt_test/src/Plugin/tmgmt/Source/TestSource.php
index ded18f7..11c2a31 100644
--- a/tmgmt_test/src/Plugin/tmgmt/Source/TestSource.php
+++ b/tmgmt_test/src/Plugin/tmgmt/Source/TestSource.php
@@ -106,7 +106,6 @@ class TestSource extends SourcePluginBase {
   public function saveTranslation(JobItemInterface $job_item) {
     // Set a variable that can be checked later for a given job item.
     \Drupal::state()->set('tmgmt_test_saved_translation_' . $job_item->getItemType() . '_' . $job_item->getItemId(), $job_item->getData());
-    $job_item->accepted();
     return TRUE;
   }
 
