diff --git a/core/modules/migrate_drupal/config/optional/migrate.migration.d7_update_settings.yml b/core/modules/migrate_drupal/config/optional/migrate.migration.d7_update_settings.yml
new file mode 100644
index 0000000..943df9d
--- /dev/null
+++ b/core/modules/migrate_drupal/config/optional/migrate.migration.d7_update_settings.yml
@@ -0,0 +1,25 @@
+id: d7_update_settings
+label: Drupal 7 update configuration
+migration_tags:
+  - Drupal 7
+source:
+  plugin: variable
+  variables:
+    - update_max_fetch_attempts
+    - update_fetch_url
+    - update_notification_threshold
+    - update_notify_emails
+    - update_check_frequency
+process:
+  'fetch/max_attempts': update_max_fetch_attempts
+  'fetch/url': update_fetch_url
+  'notification/threshold': update_notification_threshold
+  'notification/emails': update_notify_emails
+  'check/interval_days': update_check_frequency
+destination:
+  plugin: config
+  config_name: update.settings
+destination:
+  module:
+    - migrate_drupal
+    - update
diff --git a/core/modules/migrate_drupal/src/Tests/Table/d7/Variable.php b/core/modules/migrate_drupal/src/Tests/Table/d7/Variable.php
index f6faf11..6e1b1a6 100644
--- a/core/modules/migrate_drupal/src/Tests/Table/d7/Variable.php
+++ b/core/modules/migrate_drupal/src/Tests/Table/d7/Variable.php
@@ -308,6 +308,21 @@ public function load() {
       'name' => 'theme_default',
       'value' => 's:6:"bartik";',
     ))->values(array(
+      'name' => 'update_check_frequency',
+      'value' => 'i:1;',
+    ))->values(array(
+      'name' => 'update_fetch_url',
+      'value' => 's:23:"http://127.0.0.1/update";',
+    ))->values(array(
+      'name' => 'update_max_fetch_attempts',
+      'value' => 'i:3;',
+    ))->values(array(
+      'name' => 'update_notification_threshold',
+      'value' => 's:3:"all";',
+    ))->values(array(
+      'name' => 'update_notify_emails',
+      'value' => 'a:1:{i:0;s:19:"webmaster@127.0.0.1";}',
+    ))->values(array(
       'name' => 'user_admin_role',
       'value' => 's:1:"3";',
     ))->values(array(
@@ -419,4 +434,4 @@ public function load() {
   }
 
 }
-#dfc4cdd451a6575677b8c10442893d26
+#159ce21cef433f8d3ad1d9dc4ffdf99b
diff --git a/core/modules/migrate_drupal/src/Tests/d7/MigrateUpdateSettingsTest.php b/core/modules/migrate_drupal/src/Tests/d7/MigrateUpdateSettingsTest.php
new file mode 100644
index 0000000..7c1600c
--- /dev/null
+++ b/core/modules/migrate_drupal/src/Tests/d7/MigrateUpdateSettingsTest.php
@@ -0,0 +1,47 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\migrate_drupal\Tests\d7\MigrateUpdateSettingsTest.
+ */
+
+namespace Drupal\migrate_drupal\Tests\d7;
+
+use Drupal\migrate\Entity\Migration;
+use Drupal\migrate\MigrateExecutable;
+
+/**
+ * Tests migration of Update's variables into configuration.
+ *
+ * @group migrate_drupal 7.x
+ */
+class MigrateUpdateSettingsTest extends MigrateDrupal7TestBase {
+
+  public static $modules = ['update'];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->installConfig(static::$modules);
+    $this->loadDumps([
+      $this->getDumpDirectory() . '/Variable.php',
+    ]);
+    $migration = Migration::load('d7_update_settings');
+    (new MigrateExecutable($migration, $this))->import();
+  }
+
+  /**
+   * Tests migration of Update's settings to configuration.
+   */
+  public function testMigration() {
+    $config = \Drupal::config('update.settings')->get();
+    $this->assertIdentical(3, $config['fetch']['max_attempts']);
+    $this->assertIdentical('http://127.0.0.1/update', $config['fetch']['url']);
+    $this->assertIdentical('all', $config['notification']['threshold']);
+    $this->assertIdentical(['webmaster@127.0.0.1'], $config['notification']['emails']);
+    $this->assertIdentical(1, $config['check']['interval_days']);
+  }
+
+}
