diff --git a/automatic_updates.services.yml b/automatic_updates.services.yml
index 3e79a4a3fe05e55769b534c1a299bc45a091c023..287d6d2b0f554a71bc6c7a0b21b66b8a22fe203f 100644
--- a/automatic_updates.services.yml
+++ b/automatic_updates.services.yml
@@ -49,12 +49,6 @@ services:
       - '@string_translation'
     tags:
       - { name: event_subscriber }
-  automatic_updates.validator.settings:
-    class: Drupal\automatic_updates\Validator\SettingsValidator
-    arguments:
-      - '@string_translation'
-    tags:
-      - { name: event_subscriber }
   automatic_updates.release_chooser:
     class: Drupal\automatic_updates\ReleaseChooser
     arguments:
@@ -65,6 +59,12 @@ services:
       - '@package_manager.validator.composer_executable'
     tags:
       - { name: event_subscriber }
+  automatic_updates.settings_validator:
+    class: Drupal\automatic_updates\Validator\PackageManagerReadinessCheck
+    arguments:
+      - '@package_manager.validator.settings'
+    tags:
+      - { name: event_subscriber }
   automatic_updates.validator.composer_settings:
     class: Drupal\automatic_updates\Validator\PackageManagerReadinessCheck
     arguments:
diff --git a/package_manager/package_manager.services.yml b/package_manager/package_manager.services.yml
index e83f61fd518f9e4f6dc048b78b3ae858083ad70d..96b7393823a60b2011cef080f6437fbc5f38a6bb 100644
--- a/package_manager/package_manager.services.yml
+++ b/package_manager/package_manager.services.yml
@@ -240,3 +240,9 @@ services:
     calls:
       - ['setContainer', ['@service_container']]
     lazy: true
+  package_manager.validator.settings:
+    class: Drupal\package_manager\Validator\SettingsValidator
+    arguments:
+      - '@string_translation'
+    tags:
+      - { name: event_subscriber }
diff --git a/src/Validator/SettingsValidator.php b/package_manager/src/Validator/SettingsValidator.php
similarity index 51%
rename from src/Validator/SettingsValidator.php
rename to package_manager/src/Validator/SettingsValidator.php
index 95d8cca7de3af7c93c800746c4e06e6163a9d5e4..19192334f97c0731ba8787064aadc702d18ff866 100644
--- a/src/Validator/SettingsValidator.php
+++ b/package_manager/src/Validator/SettingsValidator.php
@@ -1,22 +1,17 @@
 <?php
 
-namespace Drupal\automatic_updates\Validator;
+namespace Drupal\package_manager\Validator;
 
-use Drupal\automatic_updates\Event\ReadinessCheckEvent;
-use Drupal\automatic_updates\Updater;
 use Drupal\Core\Site\Settings;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Core\StringTranslation\TranslationInterface;
 use Drupal\package_manager\Event\PreCreateEvent;
 use Drupal\package_manager\Event\PreOperationStageEvent;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 
 /**
- * @internal
- *   This class is an internal part of the module's update handling and
- *   should not be used by external code.
+ * Checks that Drupal's settings are valid for Package Manager.
  */
-class SettingsValidator implements EventSubscriberInterface {
+class SettingsValidator implements PreOperationStageValidatorInterface {
 
   use StringTranslationTrait;
 
@@ -31,13 +26,10 @@ class SettingsValidator implements EventSubscriberInterface {
   }
 
   /**
-   * Validates site settings before an update starts.
-   *
-   * @param \Drupal\package_manager\Event\PreOperationStageEvent $event
-   *   The event object.
+   * {@inheritdoc}
    */
-  public function checkSettings(PreOperationStageEvent $event): void {
-    if ($event->getStage() instanceof Updater && Settings::get('update_fetch_with_http_fallback')) {
+  public function validateStagePreOperation(PreOperationStageEvent $event): void {
+    if (Settings::get('update_fetch_with_http_fallback')) {
       $event->addError([
         $this->t('The <code>update_fetch_with_http_fallback</code> setting must be disabled.'),
       ]);
@@ -49,8 +41,7 @@ class SettingsValidator implements EventSubscriberInterface {
    */
   public static function getSubscribedEvents() {
     return [
-      ReadinessCheckEvent::class => 'checkSettings',
-      PreCreateEvent::class => 'checkSettings',
+      PreCreateEvent::class => 'validateStagePreOperation',
     ];
   }
 
diff --git a/tests/src/Kernel/ReadinessValidation/SettingsValidatorTest.php b/package_manager/tests/src/Kernel/SettingsValidatorTest.php
similarity index 72%
rename from tests/src/Kernel/ReadinessValidation/SettingsValidatorTest.php
rename to package_manager/tests/src/Kernel/SettingsValidatorTest.php
index 236af459fa6a0bad069ae1eb977273aeb526325d..5a1633a88408228bec6af1f7f2808368bfb6bb3e 100644
--- a/tests/src/Kernel/ReadinessValidation/SettingsValidatorTest.php
+++ b/package_manager/tests/src/Kernel/SettingsValidatorTest.php
@@ -1,22 +1,16 @@
 <?php
 
-namespace Drupal\Tests\automatic_updates\Kernel\ReadinessValidation;
+namespace Drupal\Tests\package_manager\Kernel;
 
 use Drupal\package_manager\Exception\StageValidationException;
 use Drupal\package_manager\ValidationResult;
-use Drupal\Tests\automatic_updates\Kernel\AutomaticUpdatesKernelTestBase;
 
 /**
- * @covers \Drupal\Tests\automatic_updates\Kernel\ReadinessValidation\SettingsValidatorTest
+ * @covers \Drupal\package_manager\Validator\SettingsValidator
  *
- * @group automatic_updates
+ * @group package_manager
  */
-class SettingsValidatorTest extends AutomaticUpdatesKernelTestBase {
-
-  /**
-   * {@inheritdoc}
-   */
-  protected static $modules = ['automatic_updates'];
+class SettingsValidatorTest extends PackageManagerKernelTestBase {
 
   /**
    * Data provider for ::testSettingsValidation().
@@ -50,11 +44,8 @@ class SettingsValidatorTest extends AutomaticUpdatesKernelTestBase {
 
     $this->setSetting('update_fetch_with_http_fallback', $setting);
 
-    $this->assertCheckerResultsFromManager($expected_results, TRUE);
     try {
-      $this->container->get('automatic_updates.updater')->begin([
-        'drupal' => '9.8.1',
-      ]);
+      $this->createStage()->create();
       // If there was no exception, ensure we're not expecting any errors.
       $this->assertSame([], $expected_results);
     }
diff --git a/tests/src/Kernel/ReadinessValidation/PackageManagerReadinessChecksTest.php b/tests/src/Kernel/ReadinessValidation/PackageManagerReadinessChecksTest.php
index 882e86d52416841b6df572f7665f3a4902234218..123cb0ec826ce4a27627669a11ec5a53bc9d0b1d 100644
--- a/tests/src/Kernel/ReadinessValidation/PackageManagerReadinessChecksTest.php
+++ b/tests/src/Kernel/ReadinessValidation/PackageManagerReadinessChecksTest.php
@@ -52,6 +52,7 @@ class PackageManagerReadinessChecksTest extends AutomaticUpdatesKernelTestBase {
       'Composer settings validator' => ['package_manager.validator.composer_settings'],
       'Multisite validator' => ['package_manager.validator.multisite'],
       'Symlink validator' => ['package_manager.validator.symlink'],
+      'Settings validator' => ['package_manager.validator.settings'],
     ];
   }