diff --git a/app/code/Magento/Checkout/Block/Registration.php b/app/code/Magento/Checkout/Block/Registration.php
index a54c576873982ac8c8d40a710f53dd288d6b78e2..60ae21ce65721325b7da2aace9f359f596c475aa 100644
--- a/app/code/Magento/Checkout/Block/Registration.php
+++ b/app/code/Magento/Checkout/Block/Registration.php
@@ -29,12 +29,24 @@ class Registration extends \Magento\Framework\View\Element\Template
      */
     protected $accountManagement;
 
+    /**
+     * @var \Magento\Sales\Api\OrderRepositoryInterface
+     */
+    protected $orderRepository;
+
+    /**
+     * @var \Magento\Sales\Model\Order\Address\Validator
+     */
+    protected $addressValidator;
+
     /**
      * @param Template\Context $context
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Customer\Model\Registration $registration
      * @param \Magento\Customer\Api\AccountManagementInterface $accountManagement
+     * @param \Magento\Sales\Api\OrderRepositoryInterface $orderRepository
+     * @param \Magento\Sales\Model\Order\Address\Validator $addressValidator
      * @param array $data
      */
     public function __construct(
@@ -43,12 +55,16 @@ class Registration extends \Magento\Framework\View\Element\Template
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Customer\Model\Registration $registration,
         \Magento\Customer\Api\AccountManagementInterface $accountManagement,
+        \Magento\Sales\Api\OrderRepositoryInterface $orderRepository,
+        \Magento\Sales\Model\Order\Address\Validator $addressValidator,
         array $data = []
     ) {
         $this->checkoutSession = $checkoutSession;
         $this->customerSession = $customerSession;
         $this->registration = $registration;
         $this->accountManagement = $accountManagement;
+        $this->orderRepository = $orderRepository;
+        $this->addressValidator = $addressValidator;
         parent::__construct($context, $data);
     }
 
@@ -81,9 +97,28 @@ class Registration extends \Magento\Framework\View\Element\Template
             $this->customerSession->isLoggedIn()
             || !$this->registration->isAllowed()
             || !$this->accountManagement->isEmailAvailable($this->getEmailAddress())
+            || !$this->validateAddresses()
         ) {
             return '';
         }
         return parent::toHtml();
     }
+
+    /**
+     * Validate order addresses
+     *
+     * @return bool
+     */
+    protected function validateAddresses()
+    {
+        $order = $this->orderRepository->get($this->checkoutSession->getLastOrderId());
+        $addresses = $order->getAddresses();
+        foreach ($addresses as $address) {
+            $result = $this->addressValidator->validateForCustomer($address);
+            if (is_array($result) && !empty($result)) {
+                return false;
+            }
+        }
+        return true;
+    }
 }
diff --git a/app/code/Magento/Sales/Model/Order/Address/Validator.php b/app/code/Magento/Sales/Model/Order/Address/Validator.php
index 4317f60f290b8f369aa763d9aff9370831448e01..22dd1afa697f32213d8910ef5280ae50fa3d271b 100644
--- a/app/code/Magento/Sales/Model/Order/Address/Validator.php
+++ b/app/code/Magento/Sales/Model/Order/Address/Validator.php
@@ -75,7 +75,7 @@ class Validator
     }
 
     /**
-     * Validate address attribute for payment operations
+     * Validate address attribute for customer creation
      *
      * @return bool|array
      * @SuppressWarnings(PHPMD.CyclomaticComplexity)
@@ -83,7 +83,7 @@ class Validator
      *
      * @param Address $address
      */
-    public function validateForPayment(Address $address)
+    public function validateForCustomer(Address $address)
     {
         if ($address->getShouldIgnoreValidation()) {
             return true;
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php
index f98a2eff36e6325b0816b61ebae8e493a503b34b..ccb2deb9bd8e4850186a6331f980e85aabc36700 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php
@@ -2352,4 +2352,9 @@ return [
     ['loadPrices', 'Magento\ConfigurableProduct\Model\Resource\Product\Type\Configurable'],
     ['_parseVariationPrices', '\Magento\ConfigurableImportExport\Model\Import\Product\Type\Configurable'],
     ['_collectSuperDataPrice', '\Magento\ConfigurableImportExport\Model\Import\Product\Type\Configurable'],
+    [
+        'validateForPayment',
+        'Magento\Sales\Model\Order\Address\Validator',
+        'Magento\Sales\Model\Order\Address\Validator::validateForCustomer'
+    ],
 ];