diff --git a/app/code/Magento/Checkout/view/frontend/web/js/view/payment/default.js b/app/code/Magento/Checkout/view/frontend/web/js/view/payment/default.js
index 529a3f84c1c7afec03d13462e3d2bd291fd91def..b4bdb28e12a9e6d8536f64e6f0c65b78cee197bc 100644
--- a/app/code/Magento/Checkout/view/frontend/web/js/view/payment/default.js
+++ b/app/code/Magento/Checkout/view/frontend/web/js/view/payment/default.js
@@ -5,12 +5,14 @@
 define(
     [
         'ko',
+        'jquery',
         'uiComponent',
         'Magento_Checkout/js/action/place-order',
         'Magento_Checkout/js/action/select-payment-method',
-        'Magento_Checkout/js/model/quote'
+        'Magento_Checkout/js/model/quote',
+        'Magento_Customer/js/model/customer'
     ],
-    function (ko, Component, placeOrderAction, selectPaymentMethodAction, quote) {
+    function (ko, $, Component, placeOrderAction, selectPaymentMethodAction, quote, customer) {
         'use strict';
         return Component.extend({
             redirectAfterPlaceOrder: true,
@@ -37,7 +39,13 @@ define(
              * Place order.
              */
             placeOrder: function () {
-                if (this.validate()) {
+                var emailValidationResult = customer.isLoggedIn(),
+                    loginFormSelector = 'form[data-role=email-with-possible-login]';
+                if (!customer.isLoggedIn()) {
+                    $(loginFormSelector).validation();
+                    emailValidationResult = Boolean($(loginFormSelector + ' input[name=username]').valid());
+                }
+                if (emailValidationResult && this.validate()) {
                     placeOrderAction(this.getData(), this.redirectAfterPlaceOrder);
                 }
             },