diff --git a/core/modules/views/src/Entity/View.php b/core/modules/views/src/Entity/View.php
index 34b4ab0..6d1514f 100644
--- a/core/modules/views/src/Entity/View.php
+++ b/core/modules/views/src/Entity/View.php
@@ -229,7 +229,7 @@ public function &getDisplay($display_id) {
    * {@inheritdoc}
    */
   public function duplicateDisplayAsType($old_display_id, $new_display_type) {
-    $executable = $this->getExecutable();
+    $executable = Views::executableFactory()->get($this);
     $display = $executable->newDisplay($new_display_type);
     $new_display_id = $display->display['id'];
     $displays = $this->get('display');
@@ -266,7 +266,7 @@ public function calculateDependencies() {
     // Ensure that the view is dependant on the module that implements the view.
     $this->addDependency('module', $this->module);
 
-    $executable = $this->getExecutable();
+    $executable = Views::executableFactory()->get($this);
     $executable->initDisplay();
     $executable->initStyle();
 
@@ -308,7 +308,7 @@ public function preSave(EntityStorageInterface $storage) {
    * a view at save time rather than at runtime.
    */
   protected function addCacheMetadata() {
-    $executable = $this->getExecutable();
+    $executable = Views::executableFactory()->get($this);
 
     $current_display = $executable->current_display;
     $displays = $this->get('display');
diff --git a/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php b/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
index b787285..4d90660 100644
--- a/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
+++ b/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
@@ -730,7 +730,7 @@ protected function alterDisplayOptions(&$display_options, $form, FormStateInterf
   protected function addDisplays(View $view, $display_options, $form, FormStateInterface $form_state) {
     // Initialize and store the view executable to get the display plugin
     // instances.
-    $executable = $view->getExecutable();
+    $executable = Views::executableFactory()->get($view);
 
     // Display: Master
     $default_display = $executable->newDisplay('default', 'Master', 'default');
diff --git a/core/modules/views/src/ViewExecutable.php b/core/modules/views/src/ViewExecutable.php
index fe65fe3..03c1555 100644
--- a/core/modules/views/src/ViewExecutable.php
+++ b/core/modules/views/src/ViewExecutable.php
@@ -1900,7 +1900,8 @@ public function getUser() {
    * data, ID, and UUID.
    */
   public function createDuplicate() {
-    return $this->storage->createDuplicate()->getExecutable();
+    $view = $this->storage->createDuplicate();
+    return Views::executableFactory()->get($view);
   }
 
   /**
diff --git a/core/modules/views_ui/src/Form/Ajax/ConfigHandler.php b/core/modules/views_ui/src/Form/Ajax/ConfigHandler.php
index 7113892..a9251a4 100644
--- a/core/modules/views_ui/src/Form/Ajax/ConfigHandler.php
+++ b/core/modules/views_ui/src/Form/Ajax/ConfigHandler.php
@@ -67,7 +67,7 @@ public function buildForm(array $form, FormStateInterface $form_state, Request $
         '#attributes' => array('class' => array('scroll'), 'data-drupal-views-scroll' => TRUE),
       ),
     );
-    $executable = $view->getExecutable();
+    $executable = Views::executableFactory()->get($view);
     $save_ui_cache = FALSE;
     if (!$executable->setDisplay($display_id)) {
       $form['markup'] = array('#markup' => $this->t('Invalid display id @display', array('@display' => $display_id)));
