diff --git a/app/code/Magento/Paypal/Model/Express/Checkout.php b/app/code/Magento/Paypal/Model/Express/Checkout.php
index 0f96b14124d042e86adbad3e944b2bdc97ee2e1a..893eda8cc6020882763056e78f844ab19166c1a6 100644
--- a/app/code/Magento/Paypal/Model/Express/Checkout.php
+++ b/app/code/Magento/Paypal/Model/Express/Checkout.php
@@ -7,7 +7,9 @@ namespace Magento\Paypal\Model\Express;
 
 use Magento\Customer\Api\Data\CustomerInterface as CustomerDataObject;
 use Magento\Customer\Model\AccountManagement;
+use Magento\Framework\App\ObjectManager;
 use Magento\Paypal\Model\Config as PaypalConfig;
+use Magento\Sales\Api\OrderRepositoryInterface;
 use Magento\Sales\Model\Order\Email\Sender\OrderSender;
 use Magento\Quote\Model\Quote\Address;
 use Magento\Framework\DataObject;
@@ -268,6 +270,11 @@ class Checkout
      */
     protected $totalsCollector;
 
+    /**
+     * @var OrderRepositoryInterface
+     */
+    private $orderRepository;
+
     /**
      * @param \Psr\Log\LoggerInterface $logger
      * @param \Magento\Customer\Model\Url $customerUrl
@@ -789,7 +796,8 @@ class Checkout
 
         $this->ignoreAddressValidation();
         $this->_quote->collectTotals();
-        $order = $this->quoteManagement->submit($this->_quote);
+        $orderId = $this->quoteManagement->placeOrder($this->_quote->getId());
+        $order = $this->getOrderRepository()->get($orderId);
 
         if (!$order) {
             return;
@@ -1157,4 +1165,20 @@ class Checkout
             ->setCustomerGroupId(\Magento\Customer\Model\Group::NOT_LOGGED_IN_ID);
         return $this;
     }
+
+    /**
+     * Returns order repository instance
+     *
+     * @return OrderRepositoryInterface
+     * @deprecated
+     */
+    private function getOrderRepository()
+    {
+        if ($this->orderRepository === null) {
+            $this->orderRepository = ObjectManager::getInstance()
+                ->get(OrderRepositoryInterface::class);
+        }
+
+        return $this->orderRepository;
+    }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Paypal/Model/Express/CheckoutTest.php b/dev/tests/integration/testsuite/Magento/Paypal/Model/Express/CheckoutTest.php
index c64500fa6cfec3aed4a33cbcbc262befa1621d5c..c2bc02893e042de06cce4023d943110a693aeeca 100644
--- a/dev/tests/integration/testsuite/Magento/Paypal/Model/Express/CheckoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Paypal/Model/Express/CheckoutTest.php
@@ -34,7 +34,7 @@ class CheckoutTest extends \PHPUnit_Framework_TestCase
     /**
      * Verify that an order placed with an existing customer can re-use the customer addresses.
      *
-     * @magentoDataFixture Magento/Paypal/_files/quote_payment_express_with_customer.php
+     * @magentoDataFixture Magento/Paypal/_files/quote_express_with_customer.php
      * @magentoAppIsolation enabled
      * @magentoDbIsolation enabled
      */
@@ -74,7 +74,7 @@ class CheckoutTest extends \PHPUnit_Framework_TestCase
     /**
      * Verify that after placing the order, addresses are associated with the order and the quote is a guest quote.
      *
-     * @magentoDataFixture Magento/Paypal/_files/quote_payment_express.php
+     * @magentoDataFixture Magento/Paypal/_files/quote_express.php
      * @magentoAppIsolation enabled
      * @magentoDbIsolation enabled
      */
diff --git a/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_express.php b/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_express.php
new file mode 100644
index 0000000000000000000000000000000000000000..0be18cdcaf9e42e2beb792596d0819b3c7a46182
--- /dev/null
+++ b/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_express.php
@@ -0,0 +1,95 @@
+<?php
+/**
+ * Copyright © 2016 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+\Magento\TestFramework\Helper\Bootstrap::getInstance()->loadArea('adminhtml');
+\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
+    \Magento\Framework\App\Config\MutableScopeConfigInterface::class
+)->setValue(
+    'carriers/flatrate/active',
+    1,
+    \Magento\Store\Model\ScopeInterface::SCOPE_STORE
+);
+\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
+    \Magento\Framework\App\Config\MutableScopeConfigInterface::class
+)->setValue(
+    'payment/paypal_express/active',
+    1,
+    \Magento\Store\Model\ScopeInterface::SCOPE_STORE
+);
+$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+/** @var $product \Magento\Catalog\Model\Product */
+$product = $objectManager->create(\Magento\Catalog\Model\Product::class);
+$product->setTypeId('simple')
+    ->setId(1)
+    ->setAttributeSetId(4)
+    ->setName('Simple Product')
+    ->setSku('simple')
+    ->setPrice(10)
+    ->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH)
+    ->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)
+    ->setStockData(
+        [
+            'qty' => 100,
+            'is_in_stock' => 1,
+        ]
+    )->save();
+$product->load(1);
+
+$billingData = [
+    'firstname' => 'testname',
+    'lastname' => 'lastname',
+    'company' => '',
+    'email' => 'test@com.com',
+    'street' => [
+        0 => 'test1',
+        1 => '',
+    ],
+    'city' => 'Test',
+    'region_id' => '1',
+    'region' => '',
+    'postcode' => '9001',
+    'country_id' => 'US',
+    'telephone' => '11111111',
+    'fax' => '',
+    'confirm_password' => '',
+    'save_in_address_book' => '1',
+    'use_for_shipping' => '1',
+];
+
+$billingAddress = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+    ->create(\Magento\Quote\Model\Quote\Address::class, ['data' => $billingData]);
+$billingAddress->setAddressType('billing');
+
+$shippingAddress = clone $billingAddress;
+$shippingAddress->setId(null)->setAddressType('shipping');
+$shippingAddress->setShippingMethod('flatrate_flatrate');
+$shippingAddress->setCollectShippingRates(true);
+
+/** @var $quote \Magento\Quote\Model\Quote */
+$quote = $objectManager->create(\Magento\Quote\Model\Quote::class);
+$quote->setCustomerIsGuest(
+    true
+)->setStoreId(
+    $objectManager->get(
+        \Magento\Store\Model\StoreManagerInterface::class
+    )->getStore()->getId()
+)->setReservedOrderId(
+    '100000002'
+)->setBillingAddress(
+    $billingAddress
+)->setShippingAddress(
+    $shippingAddress
+)->addProduct(
+    $product,
+    10
+);
+$quote->getShippingAddress()->setShippingMethod('flatrate_flatrate');
+$quote->getShippingAddress()->setCollectShippingRates(true);
+$quote->getPayment()->setMethod(\Magento\Paypal\Model\Config::METHOD_WPS_EXPRESS);
+
+$quoteRepository = $objectManager->get(\Magento\Quote\Api\CartRepositoryInterface::class);
+$quoteRepository->save($quote);
+$quote = $quoteRepository->get($quote->getId());
+$quote->setCustomerEmail('admin@example.com');
diff --git a/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_express_with_customer.php b/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_express_with_customer.php
new file mode 100644
index 0000000000000000000000000000000000000000..c319e298d1e50d56cdc886dd789d6c36941e8a4e
--- /dev/null
+++ b/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_express_with_customer.php
@@ -0,0 +1,77 @@
+<?php
+/**
+ * Copyright © 2016 Magento. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+require __DIR__ . '/../../Customer/_files/customer.php';
+require __DIR__ . '/../../Customer/_files/customer_two_addresses.php';
+
+\Magento\TestFramework\Helper\Bootstrap::getInstance()->loadArea('adminhtml');
+
+$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+
+$objectManager->get(
+    \Magento\Framework\App\Config\MutableScopeConfigInterface::class
+)->setValue('carriers/flatrate/active', 1, \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
+$objectManager->get(\Magento\Framework\App\Config\MutableScopeConfigInterface::class)
+    ->setValue('payment/paypal_express/active', 1, \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
+
+/** @var \Magento\Customer\Api\CustomerRepositoryInterface $customerRepository */
+$customerRepository = $objectManager->create(\Magento\Customer\Api\CustomerRepositoryInterface::class);
+$customer = $customerRepository->getById(1);
+
+/** @var $product \Magento\Catalog\Model\Product */
+$product = $objectManager->create(\Magento\Catalog\Model\Product::class);
+$product->setTypeId('simple')
+    ->setId(1)
+    ->setAttributeSetId(4)
+    ->setName('Simple Product')
+    ->setSku('simple')
+    ->setPrice(10)
+    ->setStockData([
+        'use_config_manage_stock' => 1,
+        'qty' => 100,
+        'is_qty_decimal' => 0,
+        'is_in_stock' => 100,
+    ])
+    ->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH)
+    ->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)
+    ->save();
+$product->load(1);
+
+$customerBillingAddress = $objectManager->create(\Magento\Customer\Model\Address::class);
+$customerBillingAddress->load(1);
+$billingAddressDataObject = $customerBillingAddress->getDataModel();
+$billingAddress = $objectManager->create(\Magento\Quote\Model\Quote\Address::class);
+$billingAddress->importCustomerAddressData($billingAddressDataObject);
+$billingAddress->setAddressType('billing');
+
+/** @var \Magento\Customer\Model\Address $customerShippingAddress */
+$customerShippingAddress = $objectManager->create(\Magento\Customer\Model\Address::class);
+$customerShippingAddress->load(2);
+$shippingAddressDataObject = $customerShippingAddress->getDataModel();
+$shippingAddress = $objectManager->create(\Magento\Quote\Model\Quote\Address::class);
+$shippingAddress->importCustomerAddressData($shippingAddressDataObject);
+$shippingAddress->setAddressType('shipping');
+
+$shippingAddress->setShippingMethod('flatrate_flatrate');
+$shippingAddress->setCollectShippingRates(true);
+
+/** @var $quote \Magento\Quote\Model\Quote */
+$quote = $objectManager->create(\Magento\Quote\Model\Quote::class);
+$quote->setCustomerIsGuest(false)
+    ->setCustomerId($customer->getId())
+    ->setCustomer($customer)
+    ->setStoreId($objectManager->get(\Magento\Store\Model\StoreManagerInterface::class)->getStore()->getId())
+    ->setReservedOrderId('test02')
+    ->setBillingAddress($billingAddress)
+    ->setShippingAddress($shippingAddress)
+    ->addProduct($product, 10);
+$quote->getShippingAddress()->setShippingMethod('flatrate_flatrate');
+$quote->getShippingAddress()->setCollectShippingRates(true);
+$quote->getPayment()->setMethod(\Magento\Paypal\Model\Config::METHOD_WPS_EXPRESS);
+
+/** @var \Magento\Quote\Api\CartRepositoryInterface $quoteRepository */
+$quoteRepository = $objectManager->create(\Magento\Quote\Api\CartRepositoryInterface::class);
+$quoteRepository->save($quote);
+$quote = $quoteRepository->get($quote->getId());
diff --git a/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_payment_express.php b/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_payment_express.php
index fa234cc444a0730a580d35400483c0f2ee92e416..90f1102e0ec7639910c83dd76d37d0b0e36eef25 100644
--- a/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_payment_express.php
+++ b/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_payment_express.php
@@ -3,96 +3,7 @@
  * Copyright © 2016 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-\Magento\TestFramework\Helper\Bootstrap::getInstance()->loadArea('adminhtml');
-\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
-    \Magento\Framework\App\Config\MutableScopeConfigInterface::class
-)->setValue(
-    'carriers/flatrate/active',
-    1,
-    \Magento\Store\Model\ScopeInterface::SCOPE_STORE
-);
-\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
-    \Magento\Framework\App\Config\MutableScopeConfigInterface::class
-)->setValue(
-    'payment/paypal_express/active',
-    1,
-    \Magento\Store\Model\ScopeInterface::SCOPE_STORE
-);
-$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-/** @var $product \Magento\Catalog\Model\Product */
-$product = $objectManager->create(\Magento\Catalog\Model\Product::class);
-$product->setTypeId('simple')
-    ->setId(1)
-    ->setAttributeSetId(4)
-    ->setName('Simple Product')
-    ->setSku('simple')
-    ->setPrice(10)
-    ->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH)
-    ->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)
-    ->setStockData(
-        [
-            'qty' => 100,
-            'is_in_stock' => 1,
-        ]
-    )->save();
-$product->load(1);
-
-$billingData = [
-    'firstname' => 'testname',
-    'lastname' => 'lastname',
-    'company' => '',
-    'email' => 'test@com.com',
-    'street' => [
-        0 => 'test1',
-        1 => '',
-    ],
-    'city' => 'Test',
-    'region_id' => '1',
-    'region' => '',
-    'postcode' => '9001',
-    'country_id' => 'US',
-    'telephone' => '11111111',
-    'fax' => '',
-    'confirm_password' => '',
-    'save_in_address_book' => '1',
-    'use_for_shipping' => '1',
-];
-
-$billingAddress = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-    ->create(\Magento\Quote\Model\Quote\Address::class, ['data' => $billingData]);
-$billingAddress->setAddressType('billing');
-
-$shippingAddress = clone $billingAddress;
-$shippingAddress->setId(null)->setAddressType('shipping');
-$shippingAddress->setShippingMethod('flatrate_flatrate');
-$shippingAddress->setCollectShippingRates(true);
-
-/** @var $quote \Magento\Quote\Model\Quote */
-$quote = $objectManager->create(\Magento\Quote\Model\Quote::class);
-$quote->setCustomerIsGuest(
-    true
-)->setStoreId(
-    $objectManager->get(
-        \Magento\Store\Model\StoreManagerInterface::class
-    )->getStore()->getId()
-)->setReservedOrderId(
-    '100000002'
-)->setBillingAddress(
-    $billingAddress
-)->setShippingAddress(
-    $shippingAddress
-)->addProduct(
-    $product,
-    10
-);
-$quote->getShippingAddress()->setShippingMethod('flatrate_flatrate');
-$quote->getShippingAddress()->setCollectShippingRates(true);
-$quote->getPayment()->setMethod(\Magento\Paypal\Model\Config::METHOD_WPS_EXPRESS);
-
-$quoteRepository = $objectManager->get(\Magento\Quote\Api\CartRepositoryInterface::class);
-$quoteRepository->save($quote);
-$quote = $quoteRepository->get($quote->getId());
-$quote->setCustomerEmail('admin@example.com');
+require __DIR__ . '/quote_express.php';
 
 /** @var $service \Magento\Quote\Api\CartManagementInterface */
 $service = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_payment_express_with_customer.php b/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_payment_express_with_customer.php
index 1c6793f05dea95644067521332900cc647a3648e..eaf444be13367f8769d28e34245c007122b79bf1 100644
--- a/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_payment_express_with_customer.php
+++ b/dev/tests/integration/testsuite/Magento/Paypal/_files/quote_payment_express_with_customer.php
@@ -3,79 +3,7 @@
  * Copyright © 2016 Magento. All rights reserved.
  * See COPYING.txt for license details.
  */
-
-require __DIR__ . '/../../Customer/_files/customer.php';
-require __DIR__ . '/../../Customer/_files/customer_two_addresses.php';
-
-\Magento\TestFramework\Helper\Bootstrap::getInstance()->loadArea('adminhtml');
-
-$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-
-$objectManager->get(
-    \Magento\Framework\App\Config\MutableScopeConfigInterface::class
-)->setValue('carriers/flatrate/active', 1, \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
-$objectManager->get(\Magento\Framework\App\Config\MutableScopeConfigInterface::class)
-    ->setValue('payment/paypal_express/active', 1, \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
-
-/** @var \Magento\Customer\Api\CustomerRepositoryInterface $customerRepository */
-$customerRepository = $objectManager->create(\Magento\Customer\Api\CustomerRepositoryInterface::class);
-$customer = $customerRepository->getById(1);
-
-/** @var $product \Magento\Catalog\Model\Product */
-$product = $objectManager->create(\Magento\Catalog\Model\Product::class);
-$product->setTypeId('simple')
-    ->setId(1)
-    ->setAttributeSetId(4)
-    ->setName('Simple Product')
-    ->setSku('simple')
-    ->setPrice(10)
-    ->setStockData([
-    'use_config_manage_stock' => 1,
-    'qty' => 100,
-    'is_qty_decimal' => 0,
-    'is_in_stock' => 100,
-])
-    ->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH)
-    ->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)
-    ->save();
-$product->load(1);
-
-$customerBillingAddress = $objectManager->create(\Magento\Customer\Model\Address::class);
-$customerBillingAddress->load(1);
-$billingAddressDataObject = $customerBillingAddress->getDataModel();
-$billingAddress = $objectManager->create(\Magento\Quote\Model\Quote\Address::class);
-$billingAddress->importCustomerAddressData($billingAddressDataObject);
-$billingAddress->setAddressType('billing');
-
-/** @var \Magento\Customer\Model\Address $customerShippingAddress */
-$customerShippingAddress = $objectManager->create(\Magento\Customer\Model\Address::class);
-$customerShippingAddress->load(2);
-$shippingAddressDataObject = $customerShippingAddress->getDataModel();
-$shippingAddress = $objectManager->create(\Magento\Quote\Model\Quote\Address::class);
-$shippingAddress->importCustomerAddressData($shippingAddressDataObject);
-$shippingAddress->setAddressType('shipping');
-
-$shippingAddress->setShippingMethod('flatrate_flatrate');
-$shippingAddress->setCollectShippingRates(true);
-
-/** @var $quote \Magento\Quote\Model\Quote */
-$quote = $objectManager->create(\Magento\Quote\Model\Quote::class);
-$quote->setCustomerIsGuest(false)
-    ->setCustomerId($customer->getId())
-    ->setCustomer($customer)
-    ->setStoreId($objectManager->get(\Magento\Store\Model\StoreManagerInterface::class)->getStore()->getId())
-    ->setReservedOrderId('test02')
-    ->setBillingAddress($billingAddress)
-    ->setShippingAddress($shippingAddress)
-    ->addProduct($product, 10);
-$quote->getShippingAddress()->setShippingMethod('flatrate_flatrate');
-$quote->getShippingAddress()->setCollectShippingRates(true);
-$quote->getPayment()->setMethod(\Magento\Paypal\Model\Config::METHOD_WPS_EXPRESS);
-
-/** @var \Magento\Quote\Api\CartRepositoryInterface $quoteRepository */
-$quoteRepository = $objectManager->create(\Magento\Quote\Api\CartRepositoryInterface::class);
-$quoteRepository->save($quote);
-$quote = $quoteRepository->get($quote->getId());
+require __DIR__ . '/quote_express_with_customer.php';
 
 /** @var $service \Magento\Quote\Api\CartManagementInterface */
 $service = $objectManager->create(\Magento\Quote\Api\CartManagementInterface::class);