diff --git a/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php b/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php
index e6365f5..c04712e 100644
--- a/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php
+++ b/core/modules/migrate_drupal_ui/src/Form/MigrateUpgradeForm.php
@@ -26,16 +26,6 @@ class MigrateUpgradeForm extends ConfirmFormBase {
   use MigrationCreationTrait;
 
   /**
-   * If a migration has previously run, perform an incremental migration.
-   */
-  const MIGRATE_UPGRADE_INCREMENTAL = 1;
-
-  /**
-   * If a migration has previously run, roll it back and start fresh.
-   */
-  const MIGRATE_UPGRADE_ROLLBACK = 2;
-
-  /**
    * Mapping of known migrations and their source and destination modules.
    *
    * @todo https://www.drupal.org/node/2569805 Hardcoding this information is
@@ -705,21 +695,13 @@ public function buildOverviewForm(array $form, FormStateInterface $form_state) {
     $form['#title'] = $this->t('Drupal Upgrade');
 
     if ($date_performed = $this->state->get('migrate_drupal_ui.performed')) {
+      // @todo Add back support for rollbacks and incremental migrations.
       $form['upgrade_option_item'] = [
         '#type' => 'item',
-        '#prefix' => $this->t('<p>An upgrade has already been performed on this site.</p>'),
+        '#prefix' => $this->t('An upgrade has already been performed on this site. To perform a new migration, create a clean and empty new install of Drupal 8. Rollbacks and incremental migrations are not yet supported through the user inteface. For more information, see the <a href=":url">upgrading handbook</a>.', [':url' => 'https://www.drupal.org/upgrade/migrate']),
         '#description' => $this->t('<p>Last upgrade: @date</p>', ['@date' => $this->dateFormatter->format($date_performed)]),
       ];
-      $form['upgrade_option'] = array(
-        '#type' => 'radios',
-        '#title' => $this->t('You have two options:'),
-        '#default_value' => static::MIGRATE_UPGRADE_INCREMENTAL,
-        '#options' => [
-          static::MIGRATE_UPGRADE_INCREMENTAL => $this->t('<strong>Rerun</strong>: Import additional configuration and content that was not available when running the upgrade previously.'),
-          static::MIGRATE_UPGRADE_ROLLBACK => $this->t('<strong>Rollback</strong>: Remove content and configuration entities (such as fields and node types). Default values of other configuration will not be reverted (such as site name).'),
-        ],
-      );
-      $validate = ['::validateCredentialForm'];
+      return $form;
     }
     else {
       $form['info_header'] = [
@@ -770,14 +752,7 @@ public function buildOverviewForm(array $form, FormStateInterface $form_state) {
    */
   public function submitOverviewForm(array &$form, FormStateInterface $form_state) {
     switch ($form_state->getValue('upgrade_option')) {
-      case static::MIGRATE_UPGRADE_INCREMENTAL:
-        $form_state->setValue('step', 'confirm');
-        break;
-
-      case static::MIGRATE_UPGRADE_ROLLBACK:
-        $form_state->setValue('step', 'confirm');
-        break;
-
+      // @todo Add back support for rollbacks and incremental migrations.
       default:
         $form_state->setValue('step', 'credentials');
         break;
@@ -894,10 +869,6 @@ public function buildCredentialForm(array $form, FormStateInterface $form_state)
    *   The current state of the form.
    */
   public function validateCredentialForm(array &$form, FormStateInterface $form_state) {
-    // Skip if rollback was chosen.
-    if ($form_state->getValue('upgrade_option') == static::MIGRATE_UPGRADE_ROLLBACK) {
-      return;
-    }
 
     // Retrieve the database driver from the form, use reflection to get the
     // namespace, and then construct a valid database array the same as in
@@ -1005,7 +976,7 @@ public function submitCredentialForm(array &$form, FormStateInterface $form_stat
   }
 
   /**
-   * Confirmation form for rollbacks, missing migrations, etc.
+   * Confirmation form for missing migrations, etc.
    *
    * @param array $form
    *   An associative array containing the structure of the form.
@@ -1019,14 +990,8 @@ public function buildConfirmForm(array $form, FormStateInterface $form_state) {
     $form = parent::buildForm($form, $form_state);
     $form['actions']['submit']['#submit'] = ['::submitConfirmForm'];
 
-    if ($rollback = $form_state->getValue('upgrade_option') == static::MIGRATE_UPGRADE_ROLLBACK) {
-      $form_state->setStorage(['upgrade_option' => static::MIGRATE_UPGRADE_ROLLBACK]);
-      $form['rollback'] = [
-        '#markup' => $this->t('All previously imported content, as well as configuration such as field definitions, will be removed.'),
-      ];
-      $form['actions']['submit']['#value'] = $this->t('Perform rollback');
-    }
-    else {
+    // @todo Add back support for rollbacks.
+    if (TRUE) {
       $form['actions']['submit']['#value'] = $this->t('Perform upgrade');
 
       $table_data = [];
@@ -1125,45 +1090,8 @@ public function buildConfirmForm(array $form, FormStateInterface $form_state) {
    */
   public function submitConfirmForm(array &$form, FormStateInterface $form_state) {
     $storage = $form_state->getStorage();
-    if (isset($storage['upgrade_option']) && $storage['upgrade_option'] == static::MIGRATE_UPGRADE_ROLLBACK) {
-      $migrations = $this->pluginManager->createInstances([]);
-
-      // Assume we want all those tagged 'Drupal %'.
-      foreach ($migrations as $migration_id => $migration) {
-        $keep = FALSE;
-        $tags = $migration->get('migration_tags');
-        foreach ($tags as $tag) {
-          if (strpos($tag, 'Drupal ') === 0) {
-            $keep = TRUE;
-            break;
-          }
-        }
-        if (!$keep) {
-          unset($migrations[$migration_id]);
-        }
-      }
-      // Roll back in reverse order.
-      $migrations = array_reverse($migrations);
-
-      $batch = [
-        'title' => $this->t('Rolling back upgrade'),
-        'progress_message' => '',
-        'operations' => [
-          [
-            [MigrateUpgradeRunBatch::class, 'run'],
-            [array_keys($migrations), 'rollback', []],
-          ],
-        ],
-        'finished' => [
-          MigrateUpgradeRunBatch::class,
-          'finished',
-        ],
-      ];
-      batch_set($batch);
-      $form_state->setRedirect('migrate_drupal_ui.upgrade');
-      $this->state->delete('migrate_drupal_ui.performed');
-    }
-    else {
+    // @todo Add back support for rollbacks.
+    if (TRUE) {
       $migrations = $storage['migrations'];
       $config['source_base_path'] = $storage['source_base_path'];
       $batch = [
diff --git a/core/modules/migrate_drupal_ui/src/MigrateUpgradeRunBatch.php b/core/modules/migrate_drupal_ui/src/MigrateUpgradeRunBatch.php
index 3c30eac..a614d93 100644
--- a/core/modules/migrate_drupal_ui/src/MigrateUpgradeRunBatch.php
+++ b/core/modules/migrate_drupal_ui/src/MigrateUpgradeRunBatch.php
@@ -64,7 +64,7 @@ class MigrateUpgradeRunBatch {
    * @param int[] $initial_ids
    *   The full set of migration IDs to import.
    * @param string $operation
-   *   The operation to perform, 'import' or 'rollback'.
+   *   The operation to perform. Only 'import' is currently supported.
    * @param array $config
    *   An array of additional configuration from the form.
    * @param array $context
@@ -78,10 +78,6 @@ public static function run($initial_ids, $operation, $config, &$context) {
         $event_dispatcher->addListener(MigrateEvents::MAP_SAVE, [static::class, 'onMapSave']);
         $event_dispatcher->addListener(MigrateEvents::IDMAP_MESSAGE, [static::class, 'onIdMapMessage']);
       }
-      else {
-        $event_dispatcher->addListener(MigrateEvents::POST_ROW_DELETE, [static::class, 'onPostRowDelete']);
-        $event_dispatcher->addListener(MigrateEvents::MAP_DELETE, [static::class, 'onMapDelete']);
-      }
       static::$maxExecTime = ini_get('max_execution_time');
       if (static::$maxExecTime <= 0) {
         static::$maxExecTime = 60;
@@ -131,9 +127,6 @@ public static function run($initial_ids, $operation, $config, &$context) {
         if ($operation == 'import') {
           $migration_status = $executable->import();
         }
-        else {
-          $migration_status = $executable->rollback();
-        }
       }
       catch (\Exception $e) {
         static::logger()->error($e->getMessage());
@@ -149,11 +142,6 @@ public static function run($initial_ids, $operation, $config, &$context) {
               $context['sandbox']['num_processed'], 'Upgraded @migration (processed 1 item total)', 'Upgraded @migration (processed @num_processed items total)',
               ['@migration' => $migration_name, '@num_processed' => $context['sandbox']['num_processed']]);
           }
-          else {
-            $message = static::getTranslation()->formatPlural(
-              $context['sandbox']['num_processed'], 'Rolled back @migration (processed 1 item total)', 'Rolled back @migration (processed @num_processed items total)',
-              ['@migration' => $migration_name, '@num_processed' => $context['sandbox']['num_processed']]);
-          }
           $context['sandbox']['messages'][] = $message;
           static::logger()->notice($message);
           $context['sandbox']['num_processed'] = 0;
@@ -222,13 +210,6 @@ public static function run($initial_ids, $operation, $config, &$context) {
             '@max' => $context['sandbox']['max'],
           ]) . "<br />\n" . $context['message'];
         }
-        else {
-          $context['message'] = t('Currently rolling back @migration (@current of @max total tasks)', [
-            '@migration' => $migration_name,
-            '@current' => $context['sandbox']['current'],
-            '@max' => $context['sandbox']['max'],
-          ]) . "<br />\n" . $context['message'];
-        }
       }
     }
     else {
@@ -281,9 +262,6 @@ protected static function displayResults($results) {
       if ($results['operation'] == 'import') {
         drupal_set_message(static::getTranslation()->formatPlural($successes, 'Completed 1 upgrade task successfully', 'Completed @count upgrade tasks successfully'));
       }
-      else {
-        drupal_set_message(static::getTranslation()->formatPlural($successes, 'Completed 1 rollback task successfully', 'Completed @count rollback tasks successfully'));
-      }
     }
 
     // If we had failures, log them and show the migration failed.
@@ -292,10 +270,6 @@ protected static function displayResults($results) {
         drupal_set_message(static::getTranslation()->formatPlural($failures, '1 upgrade failed', '@count upgrades failed'));
         drupal_set_message(t('Upgrade process not completed'), 'error');
       }
-      else {
-        drupal_set_message(static::getTranslation()->formatPlural($failures, '1 rollback failed', '@count rollbacks failed'));
-        drupal_set_message(t('Rollback process not completed'), 'error');
-      }
     }
     else {
       if ($results['operation'] == 'import') {
@@ -303,9 +277,6 @@ protected static function displayResults($results) {
         // but we didn't have failures so this is fine.
         drupal_set_message(t('Congratulations, you upgraded Drupal!'));
       }
-      else {
-        drupal_set_message(t('Rollback of the upgrade is complete - you may now start the upgrade process from scratch.'));
-      }
     }
 
     if (\Drupal::moduleHandler()->moduleExists('dblog')) {
